记一次使用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

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

相关推荐
纳于大麓10 分钟前
Android Maven私服搭建(Windows)
java·maven
哈基米喜欢哈哈哈1 小时前
低版本的JVM遇到高版本的class字节码是否会报错
java·jvm
235161 小时前
【并发编程】详解volatile
java·开发语言·jvm·分布式·后端·并发编程·原理
正怒月神1 小时前
docker-compose 启动 elk
elk·docker·容器
故事很腻i1 小时前
安装elk
运维·elk·jenkins
洛小豆1 小时前
java 中 char 类型变量能不能储存一个中文的汉字,为什么?
java·后端·面试
爱吃烤鸡翅的酸菜鱼2 小时前
从数据库直连到缓存预热:城市列表查询的性能优化全流程
java·数据库·后端·spring·个人开发
一只学java的小汉堡2 小时前
Java 面试高频题:HashMap 与 ConcurrentHashMap 深度解析(含 JDK1.8 优化与线程安全原理)
java·开发语言·面试
huohaiyu3 小时前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王4 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法