每一次更新生产服务时,避免上线的服务出现问题,以及时回滚。需要将容器映射Jar备份,以及容器镜像做备份。
这里用的是podman命令。docker一样
先查看原始镜像
[root@iZuf67it1dzldnb7yt0gubZ data]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/love-you-gateway 0.0.1 09fa5a2579d3 22 minutes ago 566 MB
localhost/love-you-base 0.0.1 d6851ed469e2 23 minutes ago 580 MB
docker.io/library/openjdk 8u265-jdk 5e934d30ed6f 16 months ago 522 MB
备份镜像命令
podman commit love-you-base love-you-base-backup:0.0.1
再次查看镜像
[root@iZuf67it1dzldnb7yt0gubZ data]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/love-you-base-backup 0.0.1 67954ff44536 10 seconds ago 580 MB
localhost/love-you-gateway 0.0.1 09fa5a2579d3 22 minutes ago 566 MB
localhost/love-you-base 0.0.1 d6851ed469e2 23 minutes ago 580 MB
docker.io/library/openjdk 8u265-jdk 5e934d30ed6f 16 months ago 522 MB
可以看到base镜像已经生成备份镜像
将镜像生成tar文件,并导出
[root@iZuf67it1dzldnb7yt0gubZ data]# podman save love-you-base-backup:0.0.1 > /data/love-you-base-backup.tar
Copying blob 9780f6d83e45 done
Copying blob 630e4f1da707 done
Copying blob fe342cfe5c83 done
Copying blob f49d20b92dc8 done
Copying blob 849ea2764450 done
Copying blob 144903481aa9 done
Copying blob 74f20b830e4a done
Copying blob 151b8c4f092e done
Copying blob c4febca14183 done
Copying blob 83e3c0747d59 done
Copying blob 433d151f18b2 done
Copying config 67954ff445 done
Writing manifest to image destination
Storing signatures
导出成功,在data目录下查看
已经生成tar镜像文件。现在将镜像文件删除之后恢复并重新运行
删除镜像文件
恢复
恢复命令
podman load < /data/love-you-base-backup.tar
再次查看镜像
备份的镜像文件已经恢复
先查看下目前运行的容器
启动容器后再次查看运行容器