Remote Docker で Buildx を利用したい

Dockerバージョン20.xを使用している場合は、設定不要でBuildxを使用することができます。

サンプルの Config とビルドリンクを下記で紹介します。

Build Link: https://app.circleci.com/pipelines/github/kelvintaywl-cci/docker-buildx/1/workflows/485da888-c62a-4df4-9dcd-d2ff752645d6/jobs/2

version: 2.1

workflows:
build-deploy:
jobs:
- build

jobs:
build:
docker:
- image: cimg/base:stable
steps:
- setup_remote_docker:
version: 20.10.11
- checkout
- run: docker buildx build .

 

Docker 19.03をご使用の場合、Experimental features のオプションを有効にする必要がありますので、ご注意ください。

サンプルの Config とビルドリンクを下記で紹介します。

Build link: https://app.circleci.com/pipelines/github/pawanbahuguna/sample-config/43/workflows/f29ef170-b61b-412f-8b37-1f562cae7d7b/jobs/55

version: 2.1

workflows:
  build-deploy:
    jobs:
     - build

jobs:
  build:
    docker:
      - image: cimg/base:stable
    steps:
      - setup_remote_docker:
          version: 19.03.14
      - checkout
   - run: |
        ssh remote-docker \<<EOF
          sudo bash -c 'echo "{\"experimental\": true}" > /etc/docker/daemon.json'
          sudo systemctl restart docker
          sudo docker info
        EOF
   - run: |
          docker buildx build .     

 

上記の設定がうまくいかない場合は、下記の設定をお試しください。

version: 2.1

workflows:
  build-deploy:
    jobs:
     - build

jobs:
  build:
    docker:
      - image: cimg/base:stable
    steps:
      - setup_remote_docker:
          version: 19.03.14
      - checkout
      - run: |
          export DOCKER_CLI_EXPERIMENTAL=enabled
          docker buildx build .

 

下記のエラーが発生する可能性があります。

could not create a builder instance with TLS data loaded from environment

エラーが発生した場合は下記のコマンドを設定して下さい。

docker context create buildx-build
docker buildx create --use buildx-build

もし、私たちの `cimg` イメージ以外の docker イメージを使用している場合は、そのイメージ内で buildx が使用可能であることを確認する必要があることに注意してください。

References:

1. https://docs.docker.com/buildx/working-with-buildx/

2. https://circleci.com/docs/2.0/building-docker-images/#docker-version

 

この記事は役に立ちましたか?
10人中3人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。