Consegui usar o docker-compose para enviar imagens para um host remoto usando a imagem a seguir.
tmaier / docker-compose: mais recente
Esta é a imagem básica do docker com o docker-compose instalado.
Minha bitbucket-pipelines.yml
aparência é assim:
- 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>
Fiz o check-in no meu repositório ca.pem
e é cert.pem
necessário para o docker-compose no keys
diretório A chave privada é salva codificada em base64, como uma variável segura nas variáveis de ambiente dos pipelines Bitbucket, então eu apenas a decodifico e colo keys/key.pem
no pipeline como a primeira etapa.
Lembre-se de que eu usei docker login
depois de definir as variáveis de ambiente para o host remoto.