docker - 如何在 docker 的一个标签下推送具有不同 OS/ARCH 的多个摘要?
问题描述
我对 docker 比较陌生,并且在其他存储库中看到我们可以在 docker 中使用不同的 OS/ARCH 在同一标签下推送多个摘要。例如:
我怎样才能达到同样的效果?现在,每当我docker push [REPO_LINK]
从不同的架构中进行操作时,它都会用它的架构替换最后一个推送的。谢谢!
解决方案
我知道有两种选择。
首先,您可以buildx
在多个节点上运行构建,每个平台一个,而不是使用qemu
. 为此,您将使用docker buildx create --append
将其他节点添加到构建器实例。这样做的缺点是您需要可从运行的节点访问的节点,docker buildx
这通常不适用于临时云构建环境。
第二个选项是使用实验docker manifest
命令。每个构建器都会推送一个单独的标签。最后,您将使用docker manifest create
构建清单列表并将docker manifest push
其推送到注册表。由于这是一项实验性功能,因此您需要导出DOCKER_CLI_EXPERIMENTAL=enabled
以在命令行中查看它。(您也可以修改~/.docker/config.json
为有一个"experimental": "enabled"
条目。)
推荐阅读
- javascript - React:关于此处使用 `useRef` 存储先前状态的混淆
- next.js - Next JS Framer 运动淡出
- rest - Apache WebDAV 接受 POST 作为新资源上的 PUT
- android - 将光栅 PSD 转换为矢量,然后导入 Android Studio
- ruby-on-rails - 尝试在 Rails 中添加具有重复索引的条目时避免异常
- android - android中的肥皂网络服务不起作用
- javascript - Discord.js 检查角色而不是权限
- c - 如果消息比 C 中的指定长度更小,则将消息拆分为两行
- git - git 重置上游分支
- outlook - 我们如何在 Outlook 通讯簿中实现层次结构