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

macOS环境下Jenkins Docker容器内无法运行Docker命令问题求助

macOS下Jenkins Docker容器运行docker命令报错解决方案

问题根因

你遇到的问题是两个原因共同导致的:

  • macOS上安装的Docker Desktop提供的/usr/local/bin/docker不是Linux可运行的原生二进制,是适配macOS系统的存根程序,就算成功挂载到基于Linux的Jenkins容器内也无法执行
  • Docker Desktop for macOS默认仅开放部分目录的挂载权限,/usr/local/bin不在默认共享目录列表中,导致你挂载的docker二进制实际上没有成功写入容器内的/usr/bin路径,所以执行ls /usr/bin/docker无输出

解决方案

直接放弃挂载宿主机docker二进制的方案,改用以下两种可行方式:

方案1:在运行中的容器内直接安装Docker CLI

  • 以root身份进入Jenkins容器:
docker exec -u root -it $CONTAINER_ID bash
  • 执行命令安装Docker官方CLI:
apt update && apt install -y ca-certificates curl gnupg lsb-release
mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update && apt install -y docker-ce-cli
  • 给jenkins用户分配docker操作权限:
usermod -aG docker jenkins
  • 退出容器后重启容器生效:
docker restart $CONTAINER_ID

重新进入容器执行docker ps即可正常输出结果。

方案2:自定义Jenkins镜像(避免容器重启后重新安装)

如果需要长期使用,建议直接构建自带Docker CLI的Jenkins镜像:

  1. 新建Dockerfile写入以下内容:
FROM jenkins/jenkins:lts
USER root
RUN apt update && apt install -y ca-certificates curl gnupg lsb-release \
    && mkdir -m 0755 -p /etc/apt/keyrings \
    && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
    && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
    && apt update && apt install -y docker-ce-cli \
    && usermod -aG docker jenkins
USER jenkins
  1. 执行构建命令:
docker build -t jenkins-with-docker:lts .
  1. 使用新镜像启动容器,仅挂载docker.sock即可:
docker run -p 8080:8080 -p 50000:50000 -d \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins-with-docker:lts

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:12:02