这篇旧文原来写得很长,还夹杂了一些当时的镜像源经验。现在我把它收成一个更通用的操作笔记:当 NAS 或服务器直接拉取 Docker 镜像不稳定时,可以先在电脑上拉取镜像,再导出成 tar 包,最后导入到目标机器。

这个方法不优雅,但胜在稳定,适合临时迁移、离线环境或 NAS 自带容器工具拉取失败的场景。

整体思路

  1. 在本机安装 Docker Desktop。
  2. docker pull 拉取需要的镜像。
  3. docker save 导出 tar 文件。
  4. 把 tar 上传到 NAS 或服务器。
  5. docker load 导入镜像,再按正常方式创建容器。

在电脑上拉取镜像

以某个镜像为例:

docker pull 镜像名:版本号

如果目标设备架构不同,要提前确认平台。比如 NAS 常见的是 linux/amd64linux/arm64

docker pull --platform linux/amd64 镜像名:版本号

导出 tar 文件

拉取完成后,把镜像保存成 tar:

docker save -o image-name.tar 镜像名:版本号

文件会生成在当前命令行所在目录。这个 tar 文件可以通过 SMB、SFTP、宝塔文件管理器或其他方式上传到 NAS/服务器。

在 NAS 或服务器导入

进入 tar 文件所在目录,执行:

docker load -i image-name.tar

导入成功后,用 docker images 查看镜像是否存在。后续就可以按自己的容器配置创建服务。

我会注意的点

  • 优先使用官方镜像或项目明确维护的镜像。
  • 版本号尽量写明确,不要所有服务都无脑 latest
  • 导入前确认 CPU 架构,避免镜像能导入但跑不起来。
  • 长期使用还是建议恢复正常的镜像拉取流程,tar 迁移更适合临时救场。