jenkins中的权限被拒绝(docker中的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
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
工作正常,这无异于文件系统权限问题。