微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker 中的 Jenkins - 如何安装 docker-compose

如何解决Docker 中的 Jenkins - 如何安装 docker-compose

所以我想开始使用 Jenkins 来构建我的应用程序,然后对其进行测试并将我的图像推送到本地存储库。 因为我有 2 个图像要推送,所以我想使用 docker-compose,但是缺少 docker-compose。

我通过 Portainer 安装了 Jenkins,我使用的是 jenkins/jenkins:lts 镜像。

有没有办法将 docker-compose 安装到容器中,而不必为它创建我自己的 Dockerfile?

到目前为止,我的 Jenkins 管道是:

node {
    stage('Clone repository') {
        checkout([$class: 'GitSCM',branches: [[name: '*/master' ]],extensions: scm.extensions,userRemoteConfigs: [[
                url: 'repo-link',credentialsId: 'credentials'
            ]]
        ])
    }

    stage('Build image') {
         sh 'cd src/ && docker-compose build'
    }

    stage('Push image') {
         sh 'docker-compose push'
    }
}

解决方法

您可以在镜像构建期间安装 docker-compose(通过 Dockerfile):

FROM jenkins/jenkins  
USER root  
RUN curl -L \  
  "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" \  
  -o /usr/local/bin/docker-compose \  
  && chmod +x /usr/local/bin/docker-compose  
USER jenkins  

或者您可以在 Jenkins 容器已经通过相同的 CURL 命令运行后安装 docker-compose:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.3/run.sh -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。