搜索

14.9. 使用 systemd 自动更新容器

download PDF

如 一节中所述 ,使用 Podman 自动更新容器

您可以使用 podman auto-update 命令更新容器。它整合成自定义脚本,并在需要时调用。自动更新容器的另一种方法是使用预安装的 podman-auto-update.timerpodman-auto-update.service systemd 服务。podman-auto-update.timer 可以配置成在特定日期或时间触发自动更新。podman-auto-update.service 可以进一步由 systemctl 命令启动,或者用作其他 systemd 服务的依赖项。因此,可以基于时间和事件的自动更新可以以各种方法触发,以满足单个需求和用例。

注意

从 Podman v4.6 开始,您可以使用描述如何以类似于常规 systemd 单元文件的格式运行容器的 Quadlets ,并隐藏了在 systemd 下运行容器的复杂性。

先决条件

  • container-tools 元数据包已安装。

流程

  1. 显示 podman-auto-update.service 单元文件:

    # cat /usr/lib/systemd/system/podman-auto-update.service
    
    [Unit]
    Description=Podman auto-update service
    Documentation=man:podman-auto-update(1)
    Wants=network.target
    After=network-online.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/podman auto-update
    
    [Install]
    WantedBy=multi-user.target default.target
  2. 显示 podman-auto-update.timer 单元文件:

    # cat /usr/lib/systemd/system/podman-auto-update.timer
    
    [Unit]
    Description=Podman auto-update timer
    
    [Timer]
    OnCalendar=daily
    Persistent=true
    
    [Install]
    WantedBy=timers.target

    在本例中,podman auto-update 命令在每天午夜启动。

  3. 在系统启动时启用 podman-auto-update.timer 服务:

    # systemctl enable podman-auto-update.timer
  4. 启动 systemd 服务:

    # systemctl start podman-auto-update.timer
  5. 可选:列出所有计时器:

    # systemctl list-timers --all
    NEXT                         LEFT      LAST                         PASSED       UNIT                         ACTIVATES
    Wed 2020-12-09 00:00:00 CET  9h left   n/a                          n/a          podman-auto-update.timer     podman-auto-update.service

    您可以看到 podman-auto-update.timer 激活了 podman-auto-update.service

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.