使用Docker Build Cloud进行构建
要使用Docker Build Cloud进行构建,请调用构建命令并使用--builder标志指定构建器的名称。
$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> --tag <IMAGE> .
默认使用
如果你想使用 Docker Build Cloud 而不必每次都指定 --builder 标志,你可以将其设置为默认构建器。
运行以下命令:
$ docker buildx use cloud-<ORG>-<BUILDER_NAME> --global
打开Docker Desktop设置并导航到Builders标签。
在可用构建器下找到云构建器。
打开下拉菜单并选择使用。

使用docker buildx use更改默认构建器只会更改docker buildx build命令的默认构建器。docker build命令仍然使用default构建器,除非你明确指定--builder标志。
如果您使用构建脚本,例如make,我们建议您将构建命令从docker build更新为docker buildx build,以避免在选择构建器时产生任何混淆。或者,您可以运行docker buildx install,使默认的docker build命令表现得像docker buildx build,而不会出现差异。
与 Docker Compose 一起使用
要使用docker compose build与Docker Build Cloud一起构建,首先将云构建器设置为您选择的构建器,然后运行您的构建。
注意
确保您使用的是受支持的Docker Compose版本,请参阅 先决条件。
$ docker buildx use cloud-<ORG>-<BUILDER_NAME>
$ docker compose build
除了docker buildx use,您还可以使用docker compose build --builder标志或
BUILDX_BUILDER环境
变量来选择云构建器。
加载构建结果
使用--tag构建时,构建结果会在构建完成后自动加载到本地镜像存储中。要在没有标签的情况下构建并加载结果,必须传递--load标志。
不支持加载多平台镜像的构建结果。构建多平台镜像时,请使用docker buildx build --push标志将输出推送到注册表。
$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
--platform linux/amd64,linux/arm64 \
--tag <IMAGE> \
--push .
如果你想使用标签构建,但不想将结果加载到本地镜像存储中,你可以仅将构建结果导出到构建缓存中:
$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
--platform linux/amd64,linux/arm64 \
--tag <IMAGE> \
--output type=cacheonly .
多平台构建
要运行多平台构建,您必须使用--platform标志指定您想要构建的所有平台。
$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
--platform linux/amd64,linux/arm64 \
--tag <IMAGE> \
--push .
如果您不指定平台,云构建器会自动为与您本地环境匹配的架构进行构建。
要了解更多关于为多个平台构建的信息,请参考 多平台构建。
Docker Desktop 中的云构建
Docker Desktop 的 构建视图 与 Docker Build Cloud 开箱即用。此视图不仅可以显示有关您自己的构建的信息,还可以显示由您的团队成员使用相同构建器启动的构建。
使用共享构建器的团队可以访问以下信息:
- 进行中和已完成的构建
- 构建配置、统计信息、依赖项和结果
- 构建源代码 (Dockerfile)
- 构建日志和错误
这让你和你的团队能够协作进行故障排除和提高构建速度,而无需在彼此之间来回发送构建日志和基准测试。
在Docker Build Cloud中使用密钥
要在Docker Build Cloud中使用构建机密,例如认证凭证或令牌,请使用docker buildx命令的--secret和--ssh CLI标志。流量是加密的,机密永远不会存储在构建缓存中。
警告
如果您误用构建参数来传递凭据、认证令牌或其他秘密信息,您应该重构您的构建,使用secret mounts来传递这些秘密信息。构建参数存储在缓存中,并且它们的值通过证明暴露。秘密挂载不会在构建之外泄露,并且永远不会包含在证明中。
欲了解更多信息,请参考:
管理构建缓存
您不需要手动管理Docker Build Cloud缓存。 系统通过垃圾回收为您管理它。
如果达到存储限制,旧缓存将自动删除。
您可以使用
docker buildx du 命令检查当前的缓存状态。
要手动清除构建器的缓存,
请使用
docker buildx prune 命令。
这与清除任何其他构建器的缓存类似。
警告
修剪云构建器的缓存也会移除使用同一构建器的其他团队成员的缓存。
取消将 Docker Build Cloud 设置为默认构建器
如果您已将云构建器设置为默认构建器
并且想要恢复到默认的 docker 构建器,
请运行以下命令:
$ docker context use default
这不会从您的系统中移除构建器。 它只会更改自动选择用于运行构建的构建器。
内部网络上的注册表
无法在VPN后的内部网络上使用Docker Build Cloud与私有注册表或注册表镜像。云构建器与之交互的所有端点,包括OCI注册表,都必须通过互联网访问。
有兴趣尝试实验性功能吗?
我们目前正在测试一个实验性功能,该功能允许云构建者访问内部资源。
如果您有兴趣尝试此功能,请使用支持表单联系我们。