You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M2笔记本Jenkins Pipeline构建Docker镜像报错:docker命令未找到

解决Mac M2上Jenkins Pipeline找不到Docker命令的问题

问题根源

Mac上Docker Desktop的docker命令默认在/usr/local/bin/docker,但Jenkins运行的shell进程没把这个路径加到环境变量PATH里;另外Mac不存在/var/run/docker.sock这个原生Linux路径,你之前修改的权限操作完全无效,Mac的Docker socket有专属路径。

具体修复步骤

1. 给Jenkins添加Docker路径到环境变量

  • 进入Jenkins管理后台 → 系统管理 → 系统配置
  • 找到「全局属性」,勾选「环境变量」,新增一条配置:
    • 名称:PATH
    • 值:/usr/local/bin:$PATH
      如果不确定Docker路径,在终端执行which docker查看实际位置,把对应目录加到PATH里即可

2. 修复Docker Socket路径与权限

  • 打开Docker Desktop → 设置 → Docker Engine
  • 确保开启「允许本地网络连接Docker」,然后创建软链接把Mac的Docker Socket映射到Linux兼容路径:
    sudo ln -s ~/Library/Containers/com.docker.docker/Data/docker.sock /var/run/docker.sock
    
  • 给Socket设置合理访问权限(别用777,太不安全):
    sudo chmod 666 /var/run/docker.sock
    

3. 先验证Docker可访问性

在Pipeline里加个测试阶段,确认命令能正常执行:

stage('Test Docker Access'){
    echo 'Checking docker availability'
    sh 'which docker'
    sh 'docker --version'
}

4. 统一Jenkins与终端的环境变量(可选)

如果Jenkins是通过系统launchd启动的,它的环境和你终端用户的环境不互通,需要修改启动配置:

  • 找到Jenkins的plist文件,一般在/Library/LaunchDaemons/org.jenkins-ci.plist
  • 打开文件,在<key>EnvironmentVariables</key>节点下添加PATH配置:
    <dict>
      <key>PATH</key>
      <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    
  • 重启Jenkins服务生效:
    sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
    sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
    

内容的提问来源于stack exchange,提问作者Ragnar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:16:08