一、镜像导出
docker save 导出
将系统中的镜像保存为压缩包,进行文件传输。使用 docker save --help 查看命令各参数,或者去docker官网查看.以 hello-world镜像为例。
A:将镜像保存为tar包
docker save image > package.tar
bash
docker save 9c7a54a9a43c > hello-world.tar
[root@localhost ~]# ll | grep hello-world.tar
-rw-r--r--. 1 root root 23040 8月 13 00:40 hello-world.tar
docker save -o/--output package.tar image
bash
[root@localhost ~]# docker save -o hello-world-o.tar 9c7a54a9a43c
[root@localhost ~]# ll | grep hello-world-o.tar
-rw-------. 1 root root 23040 8月 13 00:47 hello-world-o.tar
B:将镜像保存为tar.gz包 (可以使压缩包更小)
docker save image | gzip > hello-world.tar.gz
bash
[root@localhost ~]# docker save 9c7a54a9a43c | gzip > hello-world.tar.gz
[root@localhost ~]# ll hello-world.tar.gz
-rw-r--r--. 1 root root 3439 8月 13 00:52 hello-world.tar.gz
总结:可以看出tar.gz 明显比tar 占用的内存更少
二、镜像导入
docker load 导入
A: 使用 < 将压缩包加载为镜像
docker load < package.tar.gz
bash
[root@localhost ~]# docker load < hello-world.tar.gz
Loaded image ID: sha256:9c7a54a9a43cca047013b82af109fe963fde787f63f9e016fdc3384500c2823d
B: 使用 -i / --input 参数将压缩包加载成镜像
docker load -i package.tar
bash
[root@localhost ~]# docker load -i hello-world.tar
Loaded image ID: sha256:9c7a54a9a43cca047013b82af109fe963fde787f63f9e016fdc3384500c2823d