22.2. 使用容器恢复减少启动时间
您可以使用容器迁移来减少容器的启动时间,这需要一定时间进行初始化。通过使用检查点,您可以在同一个主机上或不同的主机上多次恢复容器。本例是基于 在本地创建和恢复容器检查点 的容器。
先决条件
-
container-tools
模块已安装。
流程
创建容器的检查点,并将检查点镜像导出到
tar.gz
文件中:podman container checkpoint criu-test --export /tmp/chkpt.tar.gz
# podman container checkpoint criu-test --export /tmp/chkpt.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从
tar.gz
文件中恢复容器:podman container restore --import /tmp/chkpt.tar.gz --name counter1 podman container restore --import /tmp/chkpt.tar.gz --name counter2 podman container restore --import /tmp/chkpt.tar.gz --name counter3
# podman container restore --import /tmp/chkpt.tar.gz --name counter1 # podman container restore --import /tmp/chkpt.tar.gz --name counter2 # podman container restore --import /tmp/chkpt.tar.gz --name counter3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --name
(-n
)选项为从导出的检查点恢复的容器指定一个新名称。显示每个容器的 ID 和名称:
podman ps -a --format "{{.ID}} {{.Names}}"
# podman ps -a --format "{{.ID}} {{.Names}}" a8b2e50d463c counter3 faabc5c27362 counter2 2ce648af11e5 counter1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示每个容器的 IP 地址:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将请求发送到每个容器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,在所有情况下结果都是
4
,因为您正在使用从同一检查点恢复的不同容器。
使用这种方法,您可以快速启动进行了初始检查点的容器的有状态副本。