对容器进行检查
检查点当前仅适用于根容器。 因此,你必须
以 root 身份运行示例容器。 而不是在每个命令前面加上前缀
sudo
,您也可以通过sudo -i
预先切换到root用户。
sudo podman run-dt -p 8080:80/tcp docker.io/library/httpd
sudo podman ps
对容器进行检查点
对容器进行检查点会停止容器,同时写入所有容器的状态 将容器中的进程写入磁盘。 这样容器以后就可以恢复了 并在与检查点完全相同的时间点继续运行。 此功能需要安装 CRIU 3.11 或更高版本 在系统上。
要检查容器,请使用:
sudo podman container checkpoint <container_id>
恢复容器
只能从之前设置检查点的容器恢复容器。 恢复的容器将在完全相同的时间点继续运行 被设置了检查点。
要恢复容器,请使用:
sudo podman container restore <container_id>
恢复后,容器会像之前一样再次应答请求 检查点。
$curl http://<IP_address>:8080
迁移容器
要将容器从一台主机实时迁移到另一台主机,容器是 在迁移的源系统上设置检查点,传输到 目标系统,然后在目标系统上恢复。 什么时候 传输检查点时,可以指定输出文件。
在源系统上:
sudo podman container checkpoint <container_id> -e /tmp/checkpoint.tar.gz
scp /tmp/checkpoint.tar.gz <destination_system>:/tmp
在目标系统上:
sudo podman container restore -i /tmp/checkpoint.tar.gz
恢复后,容器会像之前一样再次应答请求 检查点。 这次容器将继续在目的地运行 系统。
curl http://<IP_address>:8080