Centos7开启docker checkpoint

发布时间 2023-04-18 10:13:55作者: 热气球!

检查点和还原是一项实验性功能,允许您冻结正在运行的 容器,通过检查点将其状态转换为文件集合 在磁盘上。稍后,容器可以从冻结点恢复。

# docker开启checkpoint: "experimental": true,
[root@jenkins ~]# cat /etc/docker/daemon.json
{
    "experimental": true,
    "data-root": "/home/docker_data",
    "log-driver": "json-file",
    "log-opts": {"max-size": "500m", "max-file": "3"},
    "insecure-registries": ["10.0.0.13"],
    "registry-mirrors": ["https://yo3sdl2l.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
# centos7安装criu
yum install -y criu
criu --version
# 重启docker
systemctl restart docker

# 使用
docker checkpoint create(创建一个新的检查点)
docker checkpoint ls(列出现有检查点)
docker checkpoint rm(删除现有检查点)
# 实验
# 运行一个容器
docker run --security-opt=seccomp:unconfined --name cr -d busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'
# 查看当前打印的数字
docker logs -f cr
# 创建检查点(创建检查点后,容器会退出)
docker checkpoint create cr checkpoint1

#  从检查点还原
docker start --checkpoint checkpoint1 cr
# 查看打印的数字 应该和创建检查点保持一致或者数字增加了一点
docker logs -f cr