「Docker」- 保存镜像到本地

  CREATED BY JENKINSBOT

问题描述

自动有了网络加速,我们再也不担心镜像拉取失败的问题。

但是,有些客户网络隔离无法访问外网,因此需要我们下载并复制镜像到服务器。

该笔记将记录:如何下载镜像到本地,复制到内网服务器,并加载镜像到本地。

解决方法

第一步、下载镜像到本地

docker pull "<image name>" # 必须先 pull 镜像到本地
docker save -o "<path for generated tar file>" "<image name>"

如果没有指定 -o 选项,默认输出到标准输出,可以通过 SSH 传输:

docker save <image> | bzip2 | \
     ssh user@host 'bunzip2 | docker load'

第二步、复制到内网服务器

使用 rsync 或 scp 复制到远程服务器(详细步骤略过)

第三步、加载镜像到本地

docker load -i "<path to image tar file>"

参考文献

How to copy Docker images from one host to another without using a repository – Stack Overflow
docker save | Docker Documentation
Docker save without docker pull – Stack Overflow