尝试连接到unix:///var/run/docker.sock上的Docker守护程序套接字时,获得的权限被拒绝:

时间:2019-02-22 09:25:24

标签: docker jenkins docker-compose docker-machine

用例:

基本实例具有Ubuntu 16.04 安装了Docker,它可以找到并且可以检出Docker映像。

部署了Jenkins Docker容器的实例。

docker run -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name jenkins \
  jenkins/jenkins:lts

此Jenkins实例会将主机的Docker套接字安装在容器中。如文章所述。

https://getintodevops.com/blog/the-simple-way-to-run-docker-in-docker-for-ci

现在,他在Jenkins容器上安装了docker二进制文件。

apt-get update && \
apt-get -y install apt-transport-https \
 ca-certificates \
 curl \
 gnupg2 \
 software-properties-common && \
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
   $(lsb_release -cs) \
   stable" && \
apt-get update && \
apt-get -y install docker-c

从Jenkins conatiner运行Docker ps并列出可用的容器。

但是从詹金斯触发作业时,它失败并显示以下错误 + docker运行hello-world docker:尝试在unix:///var/run/docker.sock上连接到Docker守护程序套接字时,权限被拒绝。帖子:http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create:拨打unix /var/run/docker.sock:connect:权限被拒绝

我尝试了提供的解决方案以将用户添加到组中,但仍然失败

https://techoverflow.net/2017/03/01/solving-docker-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket/

非常感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:-2)

我让它起作用。

将用户添加到组中 停止并重新启动容器