# save 保存镜像到文件

在当前目录生成tar格式的文件,包含镜像的所有信息

$ docker images|grep redis
redis                5.0.5                 3c41ce05add9        34 hours ago        95MB
redis                latest                a55fbf438dfd        2 months ago        95MB


$ docker save -o redis-5.0.5.tar redis:5.0.5

# load 从tar文件导入镜像,包含完整的镜像信息

$ docker load -i redis-5.0.5.tar

# export 导出container

# 1.启动一个容器
$ docker run -d -p 6379 --name redis redis:5.0.5
# 2.将容器打包
$ docker export -o redis.tar redis

TIP

export 会丢失镜像信息

# import 导入container

$ cat redis.tar|docker import - redis:test2
# 或者
docker import redis.tar redis:test2

DANGER

此时直接使用docker run命令不能启动redis,因为丢失了所有的打包以及运行信息,要手动启动容器里面的服务

如: docker run -d -p 6379 --name redis redis:test2 redis-server

# 结论

尽量使用save/load导出/导入镜像文件的方式进行备份和恢复,会保留原有的镜像信息.