运行docker-compose up时出现“拨号unix /tmp/docker.sock:连接:权限被拒绝”

时间:2019-10-15 09:03:22

标签: docker docker-compose fedora

我刚在工作时切换到一台新计算机,却不知道为什么会遇到此问题。我已经在许多SO线程和其他网站上进行了搜索,但是还没有找到解决方法。

我的操作系统是Fedora29。我也是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守护程序并重新启动docker-compose downdocker-compose up

无论运行docker-compose up有无sudo都没关系,会发生相同的错误。

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

1 个答案:

答案 0 :(得分:1)

您需要添加

privileged: true
  

这已被合并。要启用您的容器,请使用:

my_service:
 privileged: true

您可以选中此issue