运行 docker-compose 时"dial unix /tmp/docker.sock: connect: permission denied"



我刚刚在工作中切换到一台新计算机,我不知道为什么会遇到这个问题。我已经搜索了很多SO线程和其他网站,但还没有修复它。

我的操作系统是Fedora 29。另外,我是一个 docker 的菜鸟,所以老实说,我迷失在这一切中。

所以基本上每次我运行docker-compose up时,我都会收到此错误:

nginx-proxy        | dockergen.1 | 2019/10/15 08:23:40 Error retrieving docker server version info: Get http://unix.sock/version: dial unix /tmp/docker.sock: connect: permission denied
nginx-proxy        | dockergen.1 | 2019/10/15 08:23:40 Error retrieving docker server info: Get http://unix.sock/info: dial unix /tmp/docker.sock: connect: permission denied
nginx-proxy        | dockergen.1 | 2019/10/15 08:23:40 Error listing containers: Get http://unix.sock/containers/json?all=1: dial unix /tmp/docker.sock: connect: permission denied
nginx-proxy        | dockergen.1 | 2019/10/15 08:23:40 Watching docker events
nginx-proxy        | dockergen.1 | 2019/10/15 08:23:40 Error retrieving docker server info: Get http://unix.sock/info: dial unix /tmp/docker.sock: connect: permission denied
nginx-proxy        | dockergen.1 | 2019/10/15 08:23:41 Docker daemon connection interrupted

码头工人组

我看到很多人建议创建docker组并将当前用户添加到其中,但它对我不起作用,即使在再次登录并重新启动后也是如此。

$ ls -l /var/run/docker.sock
srw-rw----. 1 root docker 0 Oct 15 09:58 /var/run/docker.sock
$ whoami
ave
$ groups ave
ave : ave wheel dialout docker

我也试过sudo setfacl -m user:ave:rw /var/run/docker.sock,这也不起作用。

码头工人

我尝试卸载 docker 并重新安装它,停止 docker 守护程序并重新启动它,docker-compose downdocker-compose up.

不管我是否在有或没有sudo的情况下运行docker-compose up,都会发生同样的错误。

docker-compose.yml

我的docker-compose.yml文件大约有 200 行长,所以这里有我认为与这个问题相关的部分?告诉我是否需要更多。

services:
nginx-proxy:
build:
context: .
dockerfile: Dockerfile-nginx
container_name: nginx-proxy
ports:
- "80:80"
environment:
- DEFAULT_HOST=<a host name>
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
depends_on:
- web
- gateway
- processing

你需要添加

privileged: true

这已经合并了。要在容器上启用,请使用:

my_service:
privileged: true

您可以检查此问题。

最新更新