jenkins中的权限被拒绝(docker中的docker)

jenkins中的权限被拒绝(docker中的docker),docker,jenkins,continuous-integration,Docker,Jenkins,Continuous Integration,我想在詹金斯运行docker命令。我经营詹金斯 sudo docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock 4oh4/jenkins-docker 我在詹金斯经营docker pull ubuntu #docker exec -it jenkins bash

我想在詹金斯运行docker命令。我经营詹金斯

sudo docker run -d -v jenkins_home:/var/jenkins_home     -p 8080:8080 -p 50000:50000     -v /var/run/docker.sock:/var/run/docker.sock 4oh4/jenkins-docker  
我在詹金斯经营docker pull ubuntu

#docker exec -it jenkins bash                  
jenkins#docker pull ubuntu in jenkins
我得到了这个错误

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=ubuntu&tag=latest: dial unix /var/run/docker.sock: connect: permission denied 
经过一番搜索,我找到了两个解决方案

1:)chmod 777/var/run/docker.sock

2:)sudo usermod-aG docker

解决方案1可行,但我认为它不安全。解决方案2不起作用,因为我在docker中运行jenkins,但没有jenkins用户


解决此问题的最佳方法是什么。

您可以尝试使用
docker run--privileged
吗?我将测试它。将Privilege授予一个容器是否安全?如果您正在安装docker sock,则必须使用
--privileged
模式才能使用主机的docker套接字,而且并不特别安全。特别是由于
chmod 0777
工作正常,这无异于文件系统权限问题。