docker / docker/buildx

Docker buildx push multi-platform

Open
#1,694 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/enhancement status/triage
Dominant language
Go
Stars
4.5k
Forks
682
Avg merge
2d 14h
Merged PRs (30d)
29

Description

Description

Good morning,

We know that docker buildx build --push will push the multi-platform images to the repository. Although it is a very good feature there is a use case which is not covered. Let's assume that we build our image and we want to run several tests before we push the image to the remote repository. After all, we do not need an image that does not pass the tests and lacks some functionality.

Consequently in this case we would need in a CI/CD environment to perform the following actions:

Step 1: Build my image
Step 2: Run my tests on the built image without pushing to any registry. IE: i save the output image and I use the docker api to do my tests.
Step 3: push the built image for all the platforms

The method described in the blog post is not sufficient because you build and then push the images.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the docker buildx build --push entry point and the Docker API workflow described in the issue. Determine how a multi-platform build could be retained for testing before registry publication, then verify that the resulting workflow supports build, test, and push as separate CI/CD steps without pushing first.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
build-system, ci-cd, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.