【发布时间】:2017-07-07 19:03:49
【问题描述】:
我正在尝试在我的 macbook 中运行 Jenkins 管道作业。我也有在本地运行的 docker 实例。最初,我在运行 Jenkins 作业时收到“docker command not found”错误。我通过添加符号链接修复了错误“ln -f -s /Applications/Docker.app/Contents/Resources/bin/* /usr/local/bin”
我还应用了这两个更改,以便 jenkins 用户可以访问 docker 目录
- chmod -R 777 /Users/myUserName/Library/Containers/com.docker.docker/
- chmod -R 777 /Users/myUserName/Library/Containers/com.docker.helper/
我遇到以下错误:
在尝试连接到 Docker 守护程序时获得权限被拒绝 unix:///var/run/docker.sock 处的套接字:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.27/containers/openjdk:8/json: 拨打 unix /var/run/docker.sock:连接:权限被拒绝 [管道] sh [测试] 运行shell脚本 + 搬运工拉 openjdk:8 警告:无法从守护进程获取默认注册表端点(在尝试连接到 Docker 守护进程套接字时获得权限被拒绝 在 unix:///var/run/docker.sock:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.27/info:拨unix /var/run/docker.sock:连接:权限被拒绝)。使用系统 默认:https://index.docker.io/v1/ 尝试在 unix:///var/run/docker.sock 连接到 Docker 守护程序套接字时获得权限被拒绝:发布 http://%2Fvar%2Frun%2Fdocker.sock/v1.27/images/create?fromImage=openjdk&tag=8: 拨打 unix /var/run/docker.sock:连接:权限被拒绝 [管道] } [管道] // 节点 [管道] 管道结束 错误:脚本返回退出代码 1 完成:失败
【问题讨论】:
-
当心这个。说如果你在不真正知道自己在做什么的情况下执行 chmod,你可能会制造一个安全漏洞,这并没有什么坏处。 777 意味着任何人都拥有对资源的完全读写权限。在大多数情况下,这可能不是必需的。一般来说,寻找一种方法来调整用户的权限(组成员资格)而不是扩大资源可用性通常更有意义。
标签: macos docker jenkins jenkins-pipeline