Go to file
2023-05-12 10:42:56 +09:30
2020-07-06 16:20:50 +10:00
2019-09-29 18:40:40 +00:00

No Fuss Computing - Docker Buildx with QEMU


Project Status - Active


Gitlab forks count Gitlab stars Open Issues

GitHub forks GitHub stars Github Watchers

This project is hosted on gitlab and has a read-only copy hosted on Github.


Stable Branch

Gitlab build status - stable branch release version


Development Branch

Gitlab build status - development branch release version



links:

This is a fork of https://gitlab.com/gdunstone/docker-buildx-qemu, which appears to be a fork of a fork. anyhow, updates are required. Credit to original and derivitive devs/contributors for getting it to the stage they had!!

Contributing

All contributions for this project must conducted from Gitlab.

For further details on contributing please refer to the contribution guide.

Other

This repo is release under this license

Original README.md

docker-buildx-qemu

this is a fork of https://gitlab.com/ericvh/docker-buildx-qemu it has been modified to not depend on a gitlab-ci template repository.

This Debian-based image allows you to easily build cross-platform images. It's been tested with GitLab CI on gitlab.com, but it should work anywhere that docker-in-docker already works, and with a binfmt_misc enabled kernel.

Example Usage

This GitLab example should give you an idea of how to use the image.

Dockerfile

FROM alpine

RUN echo "Hello, my CPU architecture is $(uname -m)"

.gitlab-ci.yml

variables:
  CI_BUILD_ARCHS: "linux/arm/v7,linux/arm64,linux/amd64"
  CI_BUILD_IMAGE: "registry.gitlab.com/ericvh/docker-buildx-qemu"

build:
  image: $CI_BUILD_IMAGE
  stage: build
  services:
    - name: docker:dind
      entrypoint: ["env", "-u", "DOCKER_HOST"]
      command: ["dockerd-entrypoint.sh"]
  variables:
    DOCKER_HOST: tcp://docker:2375/
    DOCKER_DRIVER: overlay2
    # See https://github.com/docker-library/docker/pull/166
    DOCKER_TLS_CERTDIR: ""
  retry: 2
  before_script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    # Use docker-container driver to allow useful features (push/multi-platform)
    - update-binfmts --enable # Important: Ensures execution of other binary formats is enabled in the kernel
    - docker buildx create --driver docker-container --use
    - docker buildx inspect --bootstrap
  script:
    - docker buildx ls
    - docker buildx build --platform $CI_BUILD_ARCHS --progress plain --pull -t "$CI_REGISTRY_IMAGE" --push .

And the (partial) output:

#6 [linux/amd64 2/2] RUN echo "Hello, my CPU architecture is $(uname -m)"
#6 0.120 Hello, my CPU architecture is x86_64
#6 DONE 0.3s

#8 [linux/arm/v7 2/2] RUN echo "Hello, my CPU architecture is $(uname -m)"
#8 0.233 Hello, my CPU architecture is armv7l
#8 DONE 0.2s
Description
Docker image with qemu and docker buidx for cross-platform container building
Readme MIT 114 KiB
Release 0.3.0 Latest
2023-11-09 09:11:14 +00:00