mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-10-31 01:20:09 +08:00 
			
		
		
		
	Gitea Actions 配置Docker构建环境组件 Github 镜像
			
		
		
		
		
		
		
		
		
		
		
		
			|  f915b50e4f before this change, we would try to determine ahead of time if we should build from source. after this change, we try to download precompiled binaries first, and only fall back to a source build if that fails. building from source can take up to 2 minutes, so is probably too slow for most users. Signed-off-by: Nick Santos <nick.santos@docker.com> | ||
|---|---|---|
| __tests__ | ||
| .github | ||
| dist | ||
| docs/advanced | ||
| src | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierrc.json | ||
| action.yml | ||
| codecov.yml | ||
| dev.Dockerfile | ||
| docker-bake.hcl | ||
| jest.config.ts | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| yarn.lock | ||
About
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:
      -
        name: Checkout
        uses: actions/checkout@v3
      -
        # Add support for more platforms with QEMU (optional)
        # https://github.com/docker/setup-qemu-action
        name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
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
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) | |
| 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 | Flags for buildkitd daemon | |
| install | Bool | false | Sets up docker buildcommand as an alias todocker buildx | 
| 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. | |
| config¹ | String | BuildKit config file | |
| config-inline¹ | String | Same as configbut inline | |
| append | YAML | Append additional nodes to the builder | |
| cleanup | Bool | true | Cleanup temp files and remove builder at the end of a job | 
- ¹
configandconfig-inlineare mutually exclusive
outputs
Following outputs are available
| Name | Type | Description | 
|---|---|---|
| name | String | Builder name | 
| driver | String | Builder driver | 
| platforms | String | Builder node platforms (preferred 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": "builder-3820d274-502c-4498-ae24-d4c32b3023d90",
     "endpoint": "unix:///var/run/docker.sock",
     "driver-opts": [
       "network=host",
       "image=moby/buildkit:master"
     ],
    "status": "running",
    "buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
    "buildkit": "3fab389",
    "platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386"
  }
]
| 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 | 
Contributing
Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md
