Docker-compose: cannot build WITHOUT sudo but I can run containers without it

Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
Over my ubuntu GNU/Linux machine I try to build the images from my project
docker-compose build --no-cache --force-rm
And I get the following error:
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
But when I try wiuth sudo I can build them:
sudo docker-compose build --no-cache --force-rm
But I find it somewhat mysterious because I can launch them without the need of sudo:
docker-compose up
Can you help me to unsolve the mystery?
linux ubuntu sudo docker
add a comment |Â
up vote
1
down vote
favorite
Over my ubuntu GNU/Linux machine I try to build the images from my project
docker-compose build --no-cache --force-rm
And I get the following error:
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
But when I try wiuth sudo I can build them:
sudo docker-compose build --no-cache --force-rm
But I find it somewhat mysterious because I can launch them without the need of sudo:
docker-compose up
Can you help me to unsolve the mystery?
linux ubuntu sudo docker
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
Over my ubuntu GNU/Linux machine I try to build the images from my project
docker-compose build --no-cache --force-rm
And I get the following error:
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
But when I try wiuth sudo I can build them:
sudo docker-compose build --no-cache --force-rm
But I find it somewhat mysterious because I can launch them without the need of sudo:
docker-compose up
Can you help me to unsolve the mystery?
linux ubuntu sudo docker
Over my ubuntu GNU/Linux machine I try to build the images from my project
docker-compose build --no-cache --force-rm
And I get the following error:
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
But when I try wiuth sudo I can build them:
sudo docker-compose build --no-cache --force-rm
But I find it somewhat mysterious because I can launch them without the need of sudo:
docker-compose up
Can you help me to unsolve the mystery?
linux ubuntu sudo docker
asked Dec 25 '17 at 20:02
Dimitrios Desyllas
1599
1599
add a comment |Â
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
The cause of the problem is that you have a volume mount point with root:root owner & group and caused this behavior.
The solution to this problem is to create a file named .dockerignore and put all the folders mounted as volumes.
For example if you have the following docker-compose.yml
version: '2'
services:
data_map_prod:
build:
context: .
dockerfile: Dockerfile
image: 'pcmagas/data-map:latest'
links:
- 'neo4j'
- 'mongodb'
volumes:
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9780:9780"
environment:
NEO4J_HOST: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map'
data_map_dev:
build:
context: .
dockerfile: Dockerfile_dev
image: 'pcmagas/data-map:dev'
links:
- 'neo4j_dev'
- 'mongodb'
volumes:
- './src:/opt/map/src'
- './www:/opt/map/www'
- './package.json:/opt/map/package.json'
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9781:9780"
environment:
NEO4J_HOST: 'neo4j_dev'
NEO4J_USER: 'neo4j'
NEO4J_PASSWORD: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev'
neo4j_dev:
image: 'neo4j'
ports:
- '7474:7474'
volumes:
- './docker-volumes/neo4j_dev/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
neo4j:
image: 'neo4j'
volumes:
- './docker-volumes/neo4j/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
mongodb:
image: 'mongo'
ports:
- '27017:27017'
volumes:
- './docker-volumes/mongodb/:/data/db'
Then you should create the following .dockerignore:
./docker-volumes
As you can see all the volumes are in ./docker-volumes folder.
Furtermore you can find solutions in: https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose#29111083
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
The cause of the problem is that you have a volume mount point with root:root owner & group and caused this behavior.
The solution to this problem is to create a file named .dockerignore and put all the folders mounted as volumes.
For example if you have the following docker-compose.yml
version: '2'
services:
data_map_prod:
build:
context: .
dockerfile: Dockerfile
image: 'pcmagas/data-map:latest'
links:
- 'neo4j'
- 'mongodb'
volumes:
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9780:9780"
environment:
NEO4J_HOST: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map'
data_map_dev:
build:
context: .
dockerfile: Dockerfile_dev
image: 'pcmagas/data-map:dev'
links:
- 'neo4j_dev'
- 'mongodb'
volumes:
- './src:/opt/map/src'
- './www:/opt/map/www'
- './package.json:/opt/map/package.json'
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9781:9780"
environment:
NEO4J_HOST: 'neo4j_dev'
NEO4J_USER: 'neo4j'
NEO4J_PASSWORD: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev'
neo4j_dev:
image: 'neo4j'
ports:
- '7474:7474'
volumes:
- './docker-volumes/neo4j_dev/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
neo4j:
image: 'neo4j'
volumes:
- './docker-volumes/neo4j/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
mongodb:
image: 'mongo'
ports:
- '27017:27017'
volumes:
- './docker-volumes/mongodb/:/data/db'
Then you should create the following .dockerignore:
./docker-volumes
As you can see all the volumes are in ./docker-volumes folder.
Furtermore you can find solutions in: https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose#29111083
add a comment |Â
up vote
1
down vote
accepted
The cause of the problem is that you have a volume mount point with root:root owner & group and caused this behavior.
The solution to this problem is to create a file named .dockerignore and put all the folders mounted as volumes.
For example if you have the following docker-compose.yml
version: '2'
services:
data_map_prod:
build:
context: .
dockerfile: Dockerfile
image: 'pcmagas/data-map:latest'
links:
- 'neo4j'
- 'mongodb'
volumes:
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9780:9780"
environment:
NEO4J_HOST: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map'
data_map_dev:
build:
context: .
dockerfile: Dockerfile_dev
image: 'pcmagas/data-map:dev'
links:
- 'neo4j_dev'
- 'mongodb'
volumes:
- './src:/opt/map/src'
- './www:/opt/map/www'
- './package.json:/opt/map/package.json'
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9781:9780"
environment:
NEO4J_HOST: 'neo4j_dev'
NEO4J_USER: 'neo4j'
NEO4J_PASSWORD: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev'
neo4j_dev:
image: 'neo4j'
ports:
- '7474:7474'
volumes:
- './docker-volumes/neo4j_dev/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
neo4j:
image: 'neo4j'
volumes:
- './docker-volumes/neo4j/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
mongodb:
image: 'mongo'
ports:
- '27017:27017'
volumes:
- './docker-volumes/mongodb/:/data/db'
Then you should create the following .dockerignore:
./docker-volumes
As you can see all the volumes are in ./docker-volumes folder.
Furtermore you can find solutions in: https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose#29111083
add a comment |Â
up vote
1
down vote
accepted
up vote
1
down vote
accepted
The cause of the problem is that you have a volume mount point with root:root owner & group and caused this behavior.
The solution to this problem is to create a file named .dockerignore and put all the folders mounted as volumes.
For example if you have the following docker-compose.yml
version: '2'
services:
data_map_prod:
build:
context: .
dockerfile: Dockerfile
image: 'pcmagas/data-map:latest'
links:
- 'neo4j'
- 'mongodb'
volumes:
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9780:9780"
environment:
NEO4J_HOST: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map'
data_map_dev:
build:
context: .
dockerfile: Dockerfile_dev
image: 'pcmagas/data-map:dev'
links:
- 'neo4j_dev'
- 'mongodb'
volumes:
- './src:/opt/map/src'
- './www:/opt/map/www'
- './package.json:/opt/map/package.json'
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9781:9780"
environment:
NEO4J_HOST: 'neo4j_dev'
NEO4J_USER: 'neo4j'
NEO4J_PASSWORD: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev'
neo4j_dev:
image: 'neo4j'
ports:
- '7474:7474'
volumes:
- './docker-volumes/neo4j_dev/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
neo4j:
image: 'neo4j'
volumes:
- './docker-volumes/neo4j/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
mongodb:
image: 'mongo'
ports:
- '27017:27017'
volumes:
- './docker-volumes/mongodb/:/data/db'
Then you should create the following .dockerignore:
./docker-volumes
As you can see all the volumes are in ./docker-volumes folder.
Furtermore you can find solutions in: https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose#29111083
The cause of the problem is that you have a volume mount point with root:root owner & group and caused this behavior.
The solution to this problem is to create a file named .dockerignore and put all the folders mounted as volumes.
For example if you have the following docker-compose.yml
version: '2'
services:
data_map_prod:
build:
context: .
dockerfile: Dockerfile
image: 'pcmagas/data-map:latest'
links:
- 'neo4j'
- 'mongodb'
volumes:
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9780:9780"
environment:
NEO4J_HOST: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map'
data_map_dev:
build:
context: .
dockerfile: Dockerfile_dev
image: 'pcmagas/data-map:dev'
links:
- 'neo4j_dev'
- 'mongodb'
volumes:
- './src:/opt/map/src'
- './www:/opt/map/www'
- './package.json:/opt/map/package.json'
- './docker-volumes/app_dev:/var/log/datamap'
ports:
- "9781:9780"
environment:
NEO4J_HOST: 'neo4j_dev'
NEO4J_USER: 'neo4j'
NEO4J_PASSWORD: 'neo4j'
MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev'
neo4j_dev:
image: 'neo4j'
ports:
- '7474:7474'
volumes:
- './docker-volumes/neo4j_dev/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
neo4j:
image: 'neo4j'
volumes:
- './docker-volumes/neo4j/data:/data'
environment:
NEO4J_AUTH: 'neo4j/neo45j'
mongodb:
image: 'mongo'
ports:
- '27017:27017'
volumes:
- './docker-volumes/mongodb/:/data/db'
Then you should create the following .dockerignore:
./docker-volumes
As you can see all the volumes are in ./docker-volumes folder.
Furtermore you can find solutions in: https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose#29111083
edited Dec 26 '17 at 10:36
answered Dec 26 '17 at 10:15
Dimitrios Desyllas
1599
1599
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f413015%2fdocker-compose-cannot-build-without-sudo-but-i-can-run-containers-without-it%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password