搜索后各种尝试,配置权限,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