docker-compose 一键部署jenkins ,并解决在jenkins中使用 docker-compose 命令报错:No module named compose.cli.main

搜索后各种尝试,配置权限,docker-compose 降级等都暂未解决,先记录,解决后再更新解决方法

宿主机docker 版本 :Docker version 19.03.12, build 48a66213fe

宿主机docker-compose 版本:docker-compose version 1.17.1, build 6d101fb

部署jenkins的 docker-compose.yml文件

version: '2.2'
services:
  jenkins:
    container_name: jenkins
    image: 'jenkins/jenkins:lts'
    restart: always
    privileged: true
    user: root
    environment:
      - TZ=Asia/Shanghai
    ports:
      - '8009:8080'
      - '50001:50000'
    volumes:
      - /app/data/jenkins:/var/jenkins_home:z
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /usr/bin/docker-compose:/usr/bin/docker-compose
    network_mode: "bridge"

jenkins 构建报错如下:


Docker version 19.03.12, build 48a66213fe
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 5, in <module>
    from compose.cli.main import main
ImportError: No module named compose.cli.main
Build step 'Execute shell' marked build as failure
Finished: FAILURE

猜想错误原因:(不一定正确)

偶然用cat 命令查看 docker-compose 发现也在报错,打开另外一个安装正确的服务器用cat 命令查看并对比,发现两个文件不一样,然后下载正确的docker-compose 覆盖错的docker-compose 。猜测可能是网络原因导致某一些文件没有下载完全。

解决方案:(下载正确的docker-compose 覆盖错误的docker-compose)

which docker-compose

显示 docker-compose 的路径为 /usr/local/bin/docker-compose

 

 从安装正确的服务器下载 docker-compose 并覆盖错误的docker-compose 

安装正确的机器:

cd /usr/local/bin/

sz docker-compose

安装错误的机器:

cd /usr/local/bin/

rm -rf docker-compose

rz docker-compose

赋予权限 

chmod +x /usr/local/bin/docker-compose

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值