docker - 詹金斯中的权限被拒绝(码头工人中的码头工人)
问题描述
我想在 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 用户。
解决此问题的最佳方法是什么。
解决方案
推荐阅读
- javascript - 用于匹配两个标签之间的文本的正则表达式
- css - 如何解决邮件通讯中的这个文本问题?
- python - 有什么方法可以从 Lambda 触发 EC2 内的代码?
- javascript - libphonenumber(谷歌和 libphonenumber-js)库是否在中国工作?
- alexa-skills-kit - Alexa:请求的技能未在 LauchRequest 上提供有效响应
- r - 使用 Leaflet 裁剪开放街道地图
- web-services - MS Dynamics CRM 错误 HTTP/1.1 400 错误请求
- html5-video - 裁剪底部 HTML5 视频
- r - 如何使用 tidyverse 或 base-R 函数整理非常混乱的长格式数据集?
- ios - 文本小部件的评论图标未显示