博客园  :: 首页  :: 管理

关于docker镜像IMAGE的备份和还原操作

Posted on 2023-03-08 20:51  520_1351  阅读(608)  评论(0编辑  收藏  举报

关于docker中,我们可以使用docker image 列出所有镜像,也可以加上-a

其中 -a, --all Show all images (default hides intermediate images)

查询镜像的输出格式,如下图所示

1、如果我们需要对某一个镜像,如 flannel/flannel-cni-plugin 镜像打包备份,可以使用如下命令,建议将TAG带上,当然不带也可以的

# 其中-o代表的是 -o, --output string   Write to a file, instead of STDOUT
docker save -o flannel-cni-plugin-v1.1.2.tar flannel/flannel-cni-plugin:v1.1.2

注意这里文件名为论为啥,文件类型都会是 POSIX tar archive

如果文件flannel-cni-plugin-v1.1.2.tar,则会覆盖这个文件,对这次备份没有影响

2、还原操作,还原时,也以上面的打包文件为例,也只需要如下一条命令即可

# 输出的内容与文件名没有关系,会读取tar文件里的信息的
# 其中 -i, --input string   Read from tar archive file, instead of STDIN
[root@qq-5201351 ~]# docker load -i flannel-cni-plugin-v1.1.2.tar Loaded image: flannel/flannel-cni-plugin:v1.1.2

3、也可以同时对多个镜像加打包备份到一个文件的,如下

docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o all_images.tar

还原时,与还原单个镜像tar备份是一样的,另外记录一下,也有多个镜像是一样的,IMAGE ID一样,但第一列的名称不一样,这种情况也是存在的

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17196241.html