macos - Jenkins调用unix/var/run/docker.sock : connect: permission denied MacOS

标签 macos docker jenkins

我在本地运行 Jenkins,并且在我的机器上也安装了 docker。

我有一个 Jenkins 作业,它使用 Jenkins 文件来

  1. 构建 Maven 项目
  2. 构建 Docker 镜像
  3. 部署到 Docker Hub。

我在 Jenkins 中安装了所有 docker 插件,但是当执行构建步骤时,我得到...

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.39/build?
buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=w6ypm3t1b0qefyxh9omfvntru&shmsize=0&t=app-web&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied

我似乎无法更改权限

lrwxr-xr-x   1 macuser          staff              72 Jun 30 20:36 docker.sock -> /Users/john/Library/Containers/com.docker.docker/Data/docker.sock

非常感谢任何帮助

最佳答案

您的主要问题是因为通过 Jenkins 使用的用户(可能名为 jenkins)没有足够的权限来运行 docker。

所以你基本上需要让用户加入 staff 组。

我有answered前几天这个问题,后半部分的答案就是你要找的:How to add user to a group from Mac OS X command line?

请对其进行测试,并让我知道它是否对您在尝试将用户添加到 staff 组时获得的输出不起作用

关于macos - Jenkins调用unix/var/run/docker.sock : connect: permission denied MacOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827949/

相关文章:

objective-c - 很难理解 NSBezierPath 的 curveToPoint : method

Java 日历,行为不同 OSX Windows

spring - Keycloak:作为 docker 服务运行时无效的 token 颁发者

docker - 将 .NET Core 控制台应用程序构建到 Docker 中

git - Azure Jenkins 管道 : Bad Pack Header Build Failures During Azure Web App Publish Stage

jenkins - 从 docker-compose up in jenkins 返回

swift - 既然 Swift 已经弃用了 macOS 中的 initialize() ,是否有替代方案?

docker - kubernetes hpa 获取不到cpu消耗

jenkins - 将构建参数从一个 Jenkins 项目传递到另一个 Jenkins 项目

macos - cocoa:以编程方式在 View 中居中对齐 subview (NSButton)