
很多 docker 镜像,例如 node:18 默认是支持多 cpu 架构的,例如下面的写法可以在 arm64 和 amd64 的设备上运行:
FROM node:18 问题来了,我如何将 node:18 的所有变体移动到一个新的仓库,之后能这么用:
FROM private-registry/node:18 上面的写法要能同时在多种 cpu 架构的设备上运行,就和官方镜像完全一样。
# 搬运 arm64 架构变体 docker pull node:18 --platform linux/arm64 docker tag node:18 new-registry/node:18-arm64 docker push new-registry/node:18-arm64 # 搬运 amd64 架构变体 ```shell docker pull node:18 --platform linux/amd64 docker tag node:18 new-registry/node:18-amd64 docker push new-registry/node:18-amd64 用的时候 dockerfile 里得手动区分不同的 cpu 架构:
amd64
FROM new-registry/node:18-amd64 arm64
FROM new-registry/node:18-arm64 目前已用 skopeo 成功解决,暂时没有发现问题
1 messense 2022 年 11 月 18 日 |
2 FakNoCNName 2022 年 11 月 18 日 建一个 dockerfile: ``` FROM private-registry/node:18 ``` 用 buildx 重制推送: ``` docker buildx build -f Dockerfile -t YourRegistry:Port/Repo:Tag --platform=PlatForms . --push ``` |
3 mritd 2022 年 11 月 18 日 via iPhone nerdctl 加一个 all-platforms |
4 isbase OP PRO |