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