docker save 命令 docker load 命令

  • 1、docker save 命令
  • 2、docker load 命令

1、docker save 命令

docker save 命令用于在系统上把正在使用的某个容器镜像 导出成容器镜像文件保存下载,以便在其他系统上导入这个容器镜像文件 以便快速在其他服务器上启动相同的容器。

查看redis容器和镜像

docker ps -a|grep redisdocker image ls|grep redis

导出redis镜像文件
注意命令中 -o 跟的是导出的镜像文件的文件名 可以任意命名 本例中指定的镜像文件名是redisMirror-6.2.5 ,不论指定的是什么名称,这个导出的镜像文件类型都是 POSIX tar archive

docker save -o redisMirror-6.2.5 redis:6.2.5

再次导出redis容器的镜像文件 -o 指定文件名是 redisMirror-6.2.5.rar 这次加上了后缀名.rar,查看文件格式依然是 POSIX tar archive 而且两次导出的2个镜像文件md5是一样的

docker save -o redisMirror-6.2.5.rar redis:6.2.5

这也说明了一个事实:docker save 命令保存的镜像文件格式一定是 POSIX tar archive,且不受导出的镜像文件后缀类型影响。

但是我们通常使用docker save 命令保存镜像文件为.tar 文件
如下

docker save -o redisMirror-6.2.5.tar redis:6.2.5

2、docker load 命令

docker load命令用于 导入保存好的 容器镜像文件,实现同一个容器的批量复制到其他服务器上。
怎么把容器复制到其他服务器上呢,在其他服务器上使用导出的容器镜像文件 通过docker load 命令导入,镜像,然后启动容器即可。
查看docker load 命令的帮助文档

发现docker load 命令能导入的容器镜像文件格式正是 POSIX tar archive。

在这种场景下,我们有一个 redisMirror-6.2.5.rar 文件,但是记不清了这个.rar文件是不是通过docker save命令保存的镜像文件,以决定能不能使用这个.rar文件作为容器镜像文件通过docker load命令导入系统并建立容器。

这时只需要使用file命令查看.rar文件的文件类型,只要文件类型是POSIX tar archive,就可以使用这个.rar文件作为容器镜像文件通过docker load命令导入系统并建立容器。

file redisMirror-6.2.5.rar