BitBucket不支持运行docker-compose吗?


12

目标

目的是在BitBucket管道中运行docker-compose

尝试

bitbucket-pipelines.yml

image: docker/compose:1.12.0

pipelines:
  default:
    - step:
        script:
          - docker-compose up --build

结果

The Docker Engine version is less than the minimum required by Compose.
Your current project requires a Docker Engine of version 1.13.0 or greater.

讨论区

根据这篇文章不支持?

Answers:


10

这是我的解决方案:(bitbucket-pipelines.yml)

pipelines:
  default:
    - step:
        script:
          - export DOCKER_COMPOSE_VERSION=1.18.0
          - export DOCKER_COMPOSE_URL=https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)
          - curl -L $DOCKER_COMPOSE_URL > docker-compose
          - chmod +x docker-compose
          - mv docker-compose /usr/local/bin
          - docker-compose build --force-rm --no-cache --pull

6

我们不太可能看到对本机docker-compose集成的支持,因为管道API是类似功能的自定义实现,并且还可能存在安全问题,但看起来目前正在开发更多功能,以在其中实现更多docker-compose-like功能。这个公开的问题。

更新:增加了对多容器管道的支持,如文档中所述


3

我设法使用docker-compose通过以下图像将图像推送到远程主机。

tmaier / docker-compose:最新

这是安装了docker-compose 的基本docker镜像

我的bitbucket-pipelines.yml样子是这样的:

- step:
    image: tmaier/docker-compose:latest
    script:
        - (umask  077 ; echo $DOCKER_PRIVATE_KEY | base64 -d > ./keys/key.pem)
        - export DOCKER_CERT_PATH=./keys/
        - export DOCKER_TLS_VERIFY="1"
        - export DOCKER_HOST=tcp://<DOCKER_HOST_IP>:2376
        - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
        - docker-compose up -d <service>

我已经在仓库中签入了,ca.pem并且cert.pemkeys目录中由docker-compose 签入了。私钥以base64编码的形式保存,作为Bitbucket管道环境变量中的安全变量,因此keys/key.pem第一步,我只是对其进行解码并将其粘贴到管道中。

请记住,我docker login在为远程主机设置环境变量后使用了。


0

bitbucket-pipelines.yml

image: python:3.8.1

pipelines:
  branches:
    "**":
      - step:
          name: Build
          services:
            - docker
          caches:
            - docker
            - pip
          script:
            - pip install docker-compose
            - docker network create dockernet
            - docker-compose build

definitions:
  services:
    docker:
      memory: 2048
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.