22.2. 使用容器恢复减少启动时间


您可以使用容器迁移来减少容器的启动时间,这需要一定时间进行初始化。通过使用检查点,您可以在同一个主机上或不同的主机上多次恢复容器。本例是基于 在本地创建和恢复容器检查点 的容器。

先决条件

  • container-tools 模块已安装。

流程

  1. 创建容器的检查点,并将检查点镜像导出到 tar.gz 文件中:

    # podman container checkpoint criu-test --export /tmp/chkpt.tar.gz
    Copy to Clipboard Toggle word wrap
  2. 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
    Copy to Clipboard Toggle word wrap

    --name(-n)选项为从导出的检查点恢复的容器指定一个新名称。

  3. 显示每个容器的 ID 和名称:

    # podman ps -a --format "{{.ID}} {{.Names}}"
    a8b2e50d463c counter3
    faabc5c27362 counter2
    2ce648af11e5 counter1
    Copy to Clipboard Toggle word wrap
  4. 显示每个容器的 IP 地址:

    #️ podman inspect counter1 --format "{{.NetworkSettings.IPAddress}}"
    10.88.0.248
    
    #️ podman inspect counter2 --format "{{.NetworkSettings.IPAddress}}"
    10.88.0.249
    
    #️ podman inspect counter3 --format "{{.NetworkSettings.IPAddress}}"
    10.88.0.250
    Copy to Clipboard Toggle word wrap
  5. 将请求发送到每个容器:

    #️ curl 10.88.0.248:8080
    4
    #️ curl 10.88.0.249:8080
    4
    #️ curl 10.88.0.250:8080
    4
    Copy to Clipboard Toggle word wrap

    请注意,在所有情况下结果都是 4,因为您正在使用从同一检查点恢复的不同容器。

使用这种方法,您可以快速启动进行了初始检查点的容器的有状态副本。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat