如何将 Docker 镜像下载为本地二进制压缩包
注:
- 想要下载的是linux x86的,我现在的电脑是mac的这个操作,希望拉取 Linux x86 架构 的镜像,使用
--platform linux/amd64
参数- 尝试过直接在官网下载,但是没有找到,所以我使用的下面的办法。
主要问题
-
镜像架构不同:macOS 通常是基于 ARM 架构(如 M1/M2 芯片)或 x86_64 架构,而 Linux x86 架构的镜像是专为 Intel/AMD x86 架构设计的。虽然 Docker 本身提供了一些支持跨平台的功能,但默认情况下,Docker 会下载与我们当前系统架构匹配的镜像。
-
例如,如果我们使用的是 M1/M2 芯片(ARM 架构),Docker 会默认拉取 ARM 版本的镜像,而不会自动下载 x86 版本。
解决方案
为了确保下载的是 Linux x86 架构 的镜像,而不受我们当前平台影响,可以使用以下方法:
1. 使用 --platform
参数指定架构
docker pull --platform linux/amd64 rabbitmq:management
这会强制 Docker 拉取 x86 架构 的镜像,而不管我们当前机器的架构。
2. 保存镜像为压缩包
保存镜像为 tar 文件:
docker save -o rabbitmq_management_x86.tar rabbitmq:management
压缩 tar 文件(不压缩也可以直接恢复):
gzip rabbitmq_management_x86.tar
这样会得到 rabbitmq_management_x86.tar.gz
压缩包。
3. 从压缩包中恢复镜像
当我们在其他系统(如 Linux)上恢复该镜像时,可以使用:
docker load -i rabbitmq_management_x86.tar.gz