当前位置: 首页 > 知识库问答 >
问题:

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

勾裕
2023-03-14

用例:

Base Instance有一个Ubuntus 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并列出可用的容器。

但是当从Jenkins触发作业时,它会失败,并出现以下错误docker run hello world docker:Get permission denied,同时尝试连接到位于的docker daemon套接字unix:///var/run/docker.sock:邮递http:///var/run/docker.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个答案

范麒
2023-03-14

我让它工作。

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

 类似资料: