检查点
检查点目前仅适用于 root 容器。因此,您必须以 root 用户身份运行示例容器。您可以通过 `sudo -i` 切换到 root 用户,而不是在每个命令前加 `sudo`。
$ 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