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

Jenkins容器内执行docker compose命令失败,请求技术排查支持

解决Jenkins容器内无法执行docker compose的问题

问题原因

你当前仅挂载了Docker核心命令(/usr/bin/docker)和Docker套接字(/var/run/docker.sock),但Docker Compose是独立于Docker核心的组件——它要么是Docker CLI的插件,要么是单独的二进制文件,并未通过现有挂载同步到Jenkins容器内,因此容器识别不到docker compose子命令。

解决方案

方案1:挂载宿主机的Docker Compose组件到Jenkins容器

先在宿主机上确认Docker Compose的位置:

  • 若使用Docker官方集成的Compose(即docker compose子命令形式),执行命令找路径:
    ls /usr/libexec/docker/cli-plugins/
    
    通常路径为/usr/libexec/docker/cli-plugins/docker-compose
  • 若为旧版独立的docker-compose二进制,路径一般是/usr/local/bin/docker-compose

修改Jenkins的挂载配置,在volumes中添加对应路径的挂载:

volumes:
  - /var/run/docker.sock:/var/run/docker.sock
  - /usr/bin/docker:/usr/bin/docker
  # 新增以下行(根据实际路径选择)
  - /usr/libexec/docker/cli-plugins/docker-compose:/usr/libexec/docker/cli-plugins/docker-compose
  # 旧版独立二进制的挂载替代行:
  # - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose

修改后重启Jenkins容器,即可在容器内执行docker compose命令。

方案2:在Jenkins容器内直接安装Docker Compose

若不想依赖宿主机的Compose版本,可直接在容器内安装:

  1. 进入Jenkins容器:
    docker exec -it <jenkins容器名/ID> bash
    
  2. 根据容器系统类型安装:
    • Debian/Ubuntu系:
      apt update && apt install -y docker-compose-plugin
      
    • Alpine系:
      apk add docker-compose
      
    • 手动下载最新版Compose CLI插件:
      curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/libexec/docker/cli-plugins/docker-compose
      chmod +x /usr/libexec/docker/cli-plugins/docker-compose
      

安装完成后,即可在容器内正常使用docker compose命令。

内容的提问来源于stack exchange,提问作者Minh Quang Nguyen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:08:22