跳到主要内容

对容器进行检查

检查点当前仅适用于根容器。 因此,你必须 以 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