目的是在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.
讨论
根据这篇文章,它不受支持吗?
#1 楼
这是我的解决方案:(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
#2 楼
我们不太可能看到对本机docker-compose集成的支持,因为管道API是类似功能的自定义实现,并且还可能存在安全问题,但是看起来目前正在开发更多功能,以在其中实现更多docker-compose-like功能。此未解决的问题。更新:添加了对多容器管道的支持,如文档中所述
#3 楼
我设法使用docker-compose通过以下图像将图像推送到远程主机。tmaier / docker-compose:latest
安装了docker-compose。
我的
bitbucket-pipelines.yml
看起来像这样: docker-compose在ca.pem
目录中。私钥已保存为base64编码,作为Bitbucket管道环境变量中的安全变量,因此第一步,我只是对其进行解码并将其粘贴到cert.pem
中。设置远程主机的环境变量后。#4 楼
bitbucket-pipelines.ymlimage: 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