Reputation: 1829
I installed docker engine and docker compose in Ubuntu Linux 20.04LTS.
ubuntu@ip-10-0-2-13:~/myapp/src$ docker-compose -v
docker-compose version 1.27.4, build 40524192
I also ran beloe command to make executable of docker-compose
ubuntu@ip-10-0-2-13:~/myapp/src$ sudo chmod +x /usr/local/bin/docker-compose
But when I execute the docker-compose command, still get permission denied error.
ubuntu@ip-10-0-2-13:~/myapp/src$ docker-compose down
WARNING: The VERSION_TAG variable is not set. Defaulting to a blank string.
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1252, in request
File "http/client.py", line 1298, in _send_request
File "http/client.py", line 1247, in endheaders
File "http/client.py", line 1026, in _send_output
File "http/client.py", line 966, in send
File "docker/transport/unixconn.py", line 43, in connect
PermissionError: [Errno 13] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests/adapters.py", line 449, in send
File "urllib3/connectionpool.py", line 727, in urlopen
File "urllib3/util/retry.py", line 403, in increment
File "urllib3/packages/six.py", line 734, in reraise
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1252, in request
File "http/client.py", line 1298, in _send_request
File "http/client.py", line 1247, in endheaders
File "http/client.py", line 1026, in _send_output
File "http/client.py", line 966, in send
File "docker/transport/unixconn.py", line 43, in connect
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker/api/client.py", line 205, in _retrieve_server_version
File "docker/api/daemon.py", line 181, in version
File "docker/utils/decorators.py", line 46, in inner
File "docker/api/client.py", line 228, in _get
File "requests/sessions.py", line 543, in get
File "requests/sessions.py", line 530, in request
File "requests/sessions.py", line 643, in send
File "requests/adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 123, in perform_command
File "compose/cli/command.py", line 69, in project_from_options
File "compose/cli/command.py", line 132, in get_project
File "compose/cli/docker_client.py", line 43, in get_client
File "compose/cli/docker_client.py", line 170, in docker_client
File "docker/api/client.py", line 188, in __init__
File "docker/api/client.py", line 213, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
[19602] Failed to execute script docker-compose
Can you help to solve this problem?
Upvotes: 3
Views: 22251
Reputation: 31
sudo nano /etc/group
reza:x:1000:
sambashare:x:136:
testuser1:x:1002:
vboxsf:x:999:reza
vboxdrmipc:x:998:
docker:x:997:reza
Upvotes: 0
Reputation: 11
I was struggling with this issue too.
I did not want to use sudo, because the containers do not show up in Docker Desktop. (Docker Desktop in Ubuntu not showing containers those are build with sudo privilege)
Then I discovered that "docker compose" (without the dash) is the updated version of "docker-compose" (Difference between "docker compose" and "docker-compose").
With "docker compose" it worked without the permission denied problem.
Upvotes: 1
Reputation: 297
If you want to run the service without being root, you should read this https://docs.docker.com/engine/install/linux-postinstall/
You can add your user to the docker group with
sudo usermod -aG docker $USER
Then you log out and log in and you're ready to go !
Upvotes: 12
Reputation: 787
Have you tried running the docker-compose up command with sudo?
eg: sudo docker-compose up
Upvotes: 3