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

Jenkins执行流水线构建时提示docker: not found错误如何解决?

问题根因

你使用的官方jenkins/jenkins:alpine镜像默认未预装Docker CLI工具,即便你已经挂载了宿主机的/var/run/docker.sock套接字,容器内部也没有可执行的docker命令可以和套接字通信,因此执行docker相关命令时会抛出docker: not found报错。

解决方案

提供两种常用修复方式,按需选择即可:

方式1:构建带Docker CLI的自定义Jenkins镜像

  1. 新建Dockerfile文件,内容如下:
FROM jenkins/jenkins:alpine
# 切换到root权限安装依赖
USER root
RUN apk add --update --no-cache docker-cli
# 切回默认jenkins用户
USER jenkins
  1. 在Dockerfile所在目录执行构建命令:
    docker build -t jenkins-with-docker:alpine .
  2. 修改docker-compose配置中jenkins服务的image字段为jenkins-with-docker:alpine

方式2:直接挂载宿主机Docker二进制文件(无需重构镜像)

直接修改docker-compose中jenkins服务的配置,新增权限配置和挂载项:

services:
  jenkins:
    image: jenkins/jenkins:alpine
    # 新增下面两行配置,999替换为你宿主机docker组的gid,可执行getent group docker | cut -d: -f3查询
    group_add:
      - 999
    volumes:
      - jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      # 新增挂载宿主机docker二进制
      - /usr/bin/docker:/usr/bin/docker

注意:如果宿主机是CentOS/Ubuntu等glibc发行版,挂载的docker二进制可能和alpine的musl库不兼容,推荐优先使用方式1。

验证

配置修改完成后执行docker-compose up -d重启服务,进入Jenkins容器执行docker version,能正常输出Client和Server版本信息即修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:03