docker/setup-buildx-action
docker/setup-buildx-action has 1,395 GitHub stars and 262 forks. GitHot measured 0 stars in 24 hours and +3 in 7 days. Last checked 2026-11-06 19:48 UTC. Last push 2026-11-05.
GitHub Action to set up Docker Buildx
Measured star growth
- in 24h
- 0
- in 7 days
- +3
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalAbout
GitHub Action to set up Docker Buildx.
This action will create and boot a builder that can be used in the following
steps of your workflow if you're using Buildx or the build-push action.
By default, the docker-container driver
will be used to be able to build multi-platform images and export cache using
a BuildKit container.

Usage
name: ci
on:
push:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
# Add support for more platforms with QEMU (optional)
# https://github.com/docker/setup-qemu-action
name: Set up QEMU
uses: docker/setup-qemu-action@v4
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
Configuring your builder
- Version pinning: Pin to a specific Buildx or BuildKit version
- BuildKit container logs: Enable BuildKit container logs for debugging purposes
- BuildKit Daemon configuration
- Registry mirror: Configure a registry mirror for your builds
- Max parallelism: Configure the maximum parallelism for your builds
- Append additional nodes to the builder: Create additional nodes for your builder
- Authentication for remote builders
- SSH authentication: Authenticate to a remote builder using SSH
- TLS authentication: Authenticate to a remote builder using TLS
- Standalone mode: Use Buildx as a standalone binary (without the Docker CLI)
- Isolated builders: Create isolated builders for your builds
Customizing
inputs
The following inputs can be used as step.with keys:
Listtype is a newline-delimited stringdriver-opts: | image=moby/buildkit:master network=host
CSVtype must be a comma-delimited stringplatforms: linux/amd64,linux/arm64
| Name | Type | Default | Description |
|---|---|---|---|
version |
String | Buildx version. (eg. v0.3.0, latest, https://github.com/docker/buildx.git#master) |
|
name |
String | Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one | |
driver |
String | docker-container |
Sets the builder driver to be used |
driver-opts |
List | List of additional driver-specific options (eg. image=moby/buildkit:master) |
|
buildkitd-flags |
String | BuildKit daemon flags | |
buildkitd-config * |
String | BuildKit daemon config file | |
buildkitd-config-inline * |
String | Same as buildkitd-config but inline |
|
use |
Bool | true |
Switch to this builder instance |
endpoint |
String | Optional address for docker socket or context from docker context ls |
|
platforms |
List/CSV | Fixed platforms for current node. If not empty, values take priority over the detected ones | |
append |
YAML | Append additional nodes to the builder | |
keep-state |
Bool | false |
Keep BuildKit state on cleanup. This is only useful on persistent self-hosted runners |
cache-binary |
Bool | true |
Cache buildx binary to GitHub Actions cache backend |
cleanup |
Bool | true |
Cleanup temp files and remove builder at the end of a job |
[!IMPORTANT] If you set the
buildkitd-flagsinput, the default flags (--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host) will be reset. If you want to retain the default behavior, make sure to include these flags in your custombuildkitd-flagsvalue.
[!NOTE]
buildkitd-configandbuildkitd-config-inlineare mutually exclusive.
outputs
The following outputs are available:
| Name | Type | Description |
|---|---|---|
name |
String | Builder name |
driver |
String | Builder driver |
platforms |
String | Builder node platforms (preferred and/or available) |
nodes |
JSON | Builder nodes metadata |
environment variables
The following official docker environment variables are supported:
| Name | Type | Default | Description |
|---|---|---|---|
DOCKER_CONFIG |
String | ~/.docker |
The location of your client configuration files |
Notes
nodes output
| Name | Type | Description |
|---|---|---|
name |
String | Node name |
endpoint |
String | Node endpoint |
driver-opts |
List | Options for the driver |
status |
String | Node status |
buildkitd-flags |
String | Flags for buildkitd daemon |
buildkit |
String | BuildKit version |
platforms |
String | Platforms available |
Example:
[
{
"name": "builder-8fa135e1-9bce-4a29-9368-46a09a1d750d0",
"endpoint": "unix:///var/run/docker.sock",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"buildkit": "v0.27.1",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/386"
}
]
Contributing
Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,718 starspublic-apis/public-apis
A collective list of free APIs
496,956 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,363 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,125 stars