43
loading...
This website collects cookies to deliver better user experience
docker buildx
.steps:
- name: gcr.io/cloud-builders/docker
args:
- run
- '--privileged'
- 'linuxkit/binfmt:v0.7'
id: initialize-qemu
- name: gcr.io/cloud-builders/docker
args:
- buildx
- create
- '--name'
- mybuilder
id: create-builder
- name: gcr.io/cloud-builders/docker
args:
- buildx
- use
- mybuilder
id: select-builder
- name: gcr.io/cloud-builders/docker
args:
- buildx
- inspect
- '--bootstrap'
id: show-target-build-platforms
- name: gcr.io/cloud-builders/docker
args:
- buildx
- build
- '--platform'
- $_DOCKER_BUILDX_PLATFORMS
- '-t'
- 'gcr.io/$PROJECT_ID/hello-world:latest'
- '--push'
- .
id: build-multi-architecture-container-image
options:
env:
- DOCKER_CLI_EXPERIMENTAL=enabled
substitutions:
_DOCKER_BUILDX_PLATFORMS: 'linux/amd64,linux/arm64'
initialize-qemu
, create-builder
, select-builder
, and show-target-build-platforms
steps), to build a multi-arch container image and to push it to the Container Registry on Google Cloud Platform (build-multi-architecture-container-image
step).build-multi-architecture-container-image
step accordingly.name: ci
on:
push:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v2
- name: setup qemu
uses: docker/setup-qemu-action@v1
- name: setup buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: login to docker hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: build the image
run: |
docker buildx build \
--push \
--tag ${{ secrets.DOCKER_USERNAME }}/hello-world:latest \
--platform linux/amd64,linux/arm64 .
DOCKER_USERNAME
— your user name on Docker HubDOCKER_TOKEN
— your Docker Hub access token
docker buildx