两者区别:

docker save用于导出镜像到文件,包含镜像元数据和历史信息;
docker export用于将当前容器状态导出至文件,类似快照,所以不包含元数据及历史信息,体积更小,此外从容器快照导入时也可以重新指定标签和元数据信息;

一、导出镜像:
docker save命令
导出一个或多个镜像到文件,对应导入命令为docker load
docker save -o image.tar image1:v1
例:
将kuboard镜像打包至/tmp目录下,不指定目录默认导出到当前目录

[root@c7218 ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED        SIZE
eipwork/kuboard   v3        3d4704951ee8   6 months ago   443MB
[root@c7218 ~]# docker save -o /tmp/kuboard-v3.tar 3d47
[[root@c7218 ~]# ls /tmp/
kuboard-v3.tar

使用docker load命令进行镜像导入

[root@c7218 ~]#docker load < /tmp/kuboard-v3.tar

二、导出容器
docker export 命令
导出容器当前状态到文件,对应导入命令为docker import

[root@c7218 ~]# docker ps
CONTAINER ID   IMAGE                COMMAND            CREATED        STATUS        PORTS                                                                                       NAMES
49485c0a065f   eipwork/kuboard:v3   "/entrypoint.sh"   17 hours ago   Up 17 hours   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:10081->10081/tcp, :::10081->10081/tcp, 443/tcp   kuboard

4948是容器ID

[root@c7218 ~]# docker export -o /tmp/kuboard:v3.tar 4948
[root@c7218 ~]# ls /tmp/
kuboard:v3.tar

使用docker import命令导入

[root@c7218 ~]# docker import /tmp/kuboard\:v3.tar kuboard:v4
sha256:6a36d840afda5c391a742b21b22ed203eb7ca2253a47f3bfd5b3480e540fd088
[root@c7218 ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
kuboard           v4        6a36d840afda   7 seconds ago   302MB
eipwork/kuboard   v3        3d4704951ee8   6 months ago    443MB
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐