记一次使用docker部署jenkins后,使用jenkins部署项目时提示 docker-compose: not found 的异常

在使用docker部署jenkins后,然后使用jenkins构建自由风格项目,执行shell命令时,使用到docker-compose命令时,提示以下异常:

bash 复制代码
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中服务配置如下
yaml 复制代码
 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 路径】

bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose

2、排查一下 看是否安装了 docker-compose-plugin 插件,如果没有 执行下面命令,安装即可

bash 复制代码
sudo yum install docker-compose-plugin

通过上面两步排查处理即可解决

相关推荐
qq_589568103 小时前
springbootweb案例,出现访问 http://localhost:8080/list 一直处于浏览器运转阶段
java·网络协议·http·list·springboot
JAVA面经实录9173 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
AC赳赳老秦4 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
FYKJ_20104 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
书源丶5 小时前
三十六、File 类与 IO 流基础——文件操作的「第一步」
java
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
DFT计算杂谈6 小时前
wannier90 参数详解大全
java·前端·css·html·css3
marsh02066 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
摇滚侠6 小时前
Docker 如何查询挂载的目录
运维·docker·容器