Apakah menjalankan docker-compose tidak didukung di BitBucket?

12

Tujuan

Tujuannya adalah menjalankan docker-compose di jaringan pipa BitBucket

Mencoba

bitbucket-pipelines.yml

image: docker/compose:1.12.0

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

Hasil

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.

Diskusi

Menurut ini posting tidak didukung?

030
sumber

Jawaban:

10

Inilah solusi saya: (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
Maksim Kostromin
sumber
6

Kami cenderung tidak melihat dukungan dari integrasi docker-compose asli karena API saluran pipa adalah implementasi kustom dari fungsionalitas yang serupa, dan juga karena kemungkinan masalah keamanan, tetapi sepertinya lebih banyak fitur yang sedang dikembangkan untuk mengimplementasikan lebih banyak fitur seperti docker-compose-like di masalah terbuka ini .

UPDATE: menambahkan dukungan untuk pipa multi-kontainer, seperti yang dijelaskan dalam dokumentasi

Rombob
sumber
3

Saya berhasil menggunakan docker-compose untuk mendorong gambar ke host jarak jauh dengan menggunakan gambar berikut.

tmaier / docker-compose: terbaru

Ini adalah gambar buruh pelabuhan dasar dengan docker-compose diinstal.

bitbucket-pipelines.ymlPenampilan saya seperti ini:

- 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>

Saya telah check-in di repo saya ca.pemdan cert.pemdiperlukan oleh docker-compose di keysdirektori. Kunci pribadi disimpan base64encoded, sebagai variabel aman dalam variabel lingkungan pipa Bitbucket, jadi saya hanya mendekode dan menempelkannya ke keys/key.pemdalam pipa sebagai langkah pertama.

Perlu diingat bahwa saya menggunakan docker loginsetelah mengatur variabel lingkungan untuk host jarak jauh.

Nikos Anestos
sumber
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
Codler
sumber