42、Docker - 实战:save和load命令说明

1、save命令

将指定的一个或多个镜像保存成.tar格式的文件,进行打包归档。

查看docker save帮助命令,如下:

[root@192 ~]# docker save --help

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
  -o, --output string   Write to a file, instead of STDOUT

说明:-o选项:输出到的文件,而不是STDOUT(标准输出控制台)。

执行方式有两种:

  • docker save -o 绝对路径/文件名.tar 镜像名:TAG
    说明:-o参数一定要写,否则报错cowardly refusing to save to a terminal. Use the -o flag or redirect
    示例:docker save -o /home/centos.tar centos:latest
  • docker save 镜像名:TAG >绝对路径/文件名.tar 示例:docker save centos:latest > /home/centos01.tar`

提示:如果不写.tar文件的绝对路径,只写一个文件名字,那么.tar文件默认保存在当前的工作目录中。

在实际的应用中,我们可以把打包成.tar文件的镜像,分享给其他人使用。

2、load命令

导入使用docker save命令导出的镜像。

查看docker load帮助命令,如下:

[root@192 ~]# docker load --help

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN

Options:
  -i, --input string   Read from tar archive file, instead of STDIN
  -q, --quiet          Suppress the load output

说明:

  • --input , -i:指定导入的文件,代替 STDIN(标准输入)。
  • --quiet , -q:精简输出信息。

执行方式有两种:

  • docker load `< 路径/文件名.tar
  • docker load --input或者-i 路径/文件名.tar

示例:

# 查看本地Docker镜像,没有镜像
[root@192 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE

# 方式一加载镜像,方式二同理。
[root@192 ~]# docker load < /home/centos.tar
Loaded image: centos:latest

# 再次查看本地镜像,centos镜像已经被加载
[root@192 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   3 months ago   209MB

在实际的应用中,我们可以把别人打包成.tar文件的镜像,拷贝到自己的主机中,在通过docker load命令,把镜像加载到本地镜像库中。