Udało mi się użyć komponentu dokującego do wypychania obrazów do zdalnego hosta za pomocą następującego obrazu.
tmaier / docker-compose: najnowszy
Jest to podstawowy obraz dokera z zainstalowanym programem dokowania-tworzenia.
Mój bitbucket-pipelines.yml
wygląda tak:
- 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>
Zalogowałem się w moim repozytorium ca.pem
i jest to cert.pem
potrzebne dla docker-compose w keys
katalogu. Klucz prywatny jest zapisywany zakodowany base64, jako bezpieczna zmienna w zmiennych środowiskowych potoków Bitbucket, więc po prostu dekoduję go i wklejam keys/key.pem
do potoku jako pierwszy krok.
Należy pamiętać, że użyłem docker login
po ustawieniu zmiennych środowiska dla zdalnego hosta.