首页 > 解决方案 > 詹金斯中的权限被拒绝(码头工人中的码头工人)

问题描述

我想在 Jenkins 中运行 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 码头工人

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

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

标签: dockerjenkinscontinuous-integration

解决方案


推荐阅读