在AMD64拉取ARM64镜像并推送
- 2025-10-29 20:51:00
- 丁国栋
- 原创 19
已知 Docker 镜像仓库中有amd64和arm64两种架构的 Docker 镜像,现在如何使用amd64架构的Linux拉取arm64架构的镜像,并把它推送到另一个Docker镜像仓库呢?
要想在 AMD64 架构的 Linux 系统上拉取、处理并推送 ARM64 架构的 Docker 镜像,可以通过 Skopeo 工具。
安装 Skopeo
# Ubuntu/Debian sudo apt-get install skopeo # CentOS/RHEL sudo yum install skopeo # 或者使用容器版本 docker run --rm quay.io/skopeo/stable:latest skopeo --version使用 Skopeo
# 直接从源仓库复制 arm64 镜像到目标仓库 skopeo copy --src-tls-verify=false --dest-tls-verify=false \ docker://源仓库/镜像名:标签 \ docker://目标仓库/镜像名:标签 \ --override-arch arm64 # 如果需要认证 skopeo copy \ --src-creds 用户名:密码 \ --dest-creds 用户名:密码 \ docker://源仓库/镜像名:标签 \ docker://目标仓库/镜像名:标签 \ --override-arch arm64
另外 skopeo 还有其他有用的例子:
# 检视Docker镜像,默认输出也是 json skopeo inspect docker://registry.fedoraproject.org/fedora:latest # 导出Docker镜像 skopeo copy oci:busybox_ocilayout:latest dir:existingemptydirectory # 删除Docker镜像 skopeo delete docker://localhost:5000/imagename:latest # 登录镜像仓库 skopeo login --username USER myregistrydomain.com:5000 # 登出镜像仓库 skopeo logout myregistrydomain.com:5000 # 同步镜像仓库 skopeo sync --src docker --dest dir registry.example.com/busybox /media/usb skopeo copy docker://quay.io/buildah/stable docker://registry.internal.company.com/buildah
--
发表评论