在使用docker部署jenkins后,然后使用jenkins构建自由风格项目,执行shell命令时,使用到docker-compose命令时,提示以下异常:
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/fishery-auth
[fishery-auth] $ /bin/sh -xe /tmp/jenkins1267025272683878744.sh
+ docker-compose -v
/tmp/jenkins1267025272683878744.sh: 2: docker-compose: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
前置说明
1、首先 jenkins部署的docker-compose.yml中服务配置如下
jenkins:
user: root # 为了避免一些权限问题 在这我使用了root
restart: always # 重启方式
image: jenkins/jenkins:2.346.3-lts-jdk8 # 指定服务所使用的镜像,指定jdk版本
container_name: jenkins # 容器名称
environment:
JAVA_OPTS: "-server -Xms512m -Xmx1024m"
ports: # 对外暴露的端口定义
- 8082:8080 # 访问Jenkins服务端口
- 50000:50000
volumes: # 卷挂载路径
- /data/docker/jenkins:/var/jenkins_home # 这是我们一开始创建的目录挂载到容器内的jenkins_home目录
- /var/run/docker.sock:/var/run/docker.sock # 这是为了我们可以在容器内使用docker命令
- /usr/bin/docker:/usr/bin/docker # 这是为了我们可以在容器内使用docker命令
- /usr/bin/docker-compose:/usr/bin/docker-compose # 这是为了我们可以在容器内使用docker-compose命令
2、jenkins启动后,部署服务,ruoyi-cloud-plus框架的服务,然后提示了开始的异常
解决办法:
1、权限排查 给docker-compose命令配上合适的权限 【注意看自己的docker-compose命令的路径,有些人会装在/usr/bin/docker-compose 路径】
sudo chmod +x /usr/local/bin/docker-compose
2、排查一下 看是否安装了 docker-compose-plugin 插件,如果没有 执行下面命令,安装即可
sudo yum install docker-compose-plugin
通过上面两步排查处理即可解决