Việc chạy docker-compose không được hỗ trợ trong BitBucket?


12

Mục đích

Mục đích là để chạy docker-compose trong các đường ống BitBucket

Cố gắng

bitbucket-pipelines.yml

image: docker/compose:1.12.0

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

Kết quả

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.

Thảo luận

Theo bài này nó không được hỗ trợ?

Câu trả lời:


10

Đây là giải pháp của tôi: (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

Chúng tôi ít thấy sự hỗ trợ của tích hợp docker-compose riêng vì API đường ống là một triển khai tùy chỉnh của chức năng tương tự và cũng vì các vấn đề bảo mật có thể xảy ra, nhưng có vẻ như nhiều tính năng hiện đang được phát triển để triển khai nhiều tính năng giống như docker hơn trong này vấn đề mở.

CẬP NHẬT: hỗ trợ thêm cho các đường ống đa container, như được mô tả trong tài liệu


3

Tôi quản lý để sử dụng docker-compose để đẩy hình ảnh đến một máy chủ từ xa bằng cách sử dụng hình ảnh sau đây.

tmaier / docker-compose: mới nhất

Đây là hình ảnh docker cơ bản với docker-compose được cài đặt.

Tôi bitbucket-pipelines.ymltrông như thế này:

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

Tôi đã đăng ký trong repo của mình ca.pemcert.pemcần thiết bởi docker-compose trong keysthư mục. Khóa riêng được lưu base64encoding, như một biến an toàn trong các biến môi trường của đường ống Bitbucket, vì vậy tôi chỉ giải mã nó và dán nó keys/key.pemvào đường ống là bước đầu tiên.

Hãy nhớ rằng tôi đã sử dụng docker loginsau khi đặt các biến môi trường cho máy chủ từ xa.


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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.