用例:
基本实例具有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:权限被拒绝
我尝试了提供的解决方案以将用户添加到组中,但仍然失败
非常感谢您的帮助。
谢谢
答案 0 :(得分:-2)
我让它起作用。
将用户添加到组中 停止并重新启动容器