14.9. systemd를 사용하여 컨테이너 자동 업데이트

Podman을 사용하여 컨테이너 자동 업데이트 섹션에서 설명한 대로

podman auto-update 명령을 사용하여 컨테이너를 업데이트할 수 있습니다. 사용자 지정 스크립트로 통합되며 필요한 경우 호출할 수 있습니다. 컨테이너를 자동 업데이트하는 또 다른 방법은 사전 설치된 podman-auto-update.timerpodman-auto-update.service systemd 서비스를 사용하는 것입니다. podman-auto-update.timer 은 특정 날짜 또는 시간에 자동 업데이트를 트리거하도록 구성할 수 있습니다. podman-auto-update.servicesystemctl 명령으로 추가로 시작하거나 다른 systemd 서비스에서 종속성으로 사용할 수 있습니다. 결과적으로 시간과 이벤트를 기반으로 자동 업데이트가 다양한 방식으로 트리거되어 개별 요구 사항 및 사용 사례를 충족할 수 있습니다.

참고

Podman v4.6부터 일반 systemd 장치 파일과 유사한 형식으로 컨테이너를 실행하는 방법을 설명하고 systemd 에서 실행 중인 컨테이너의 복잡성을 숨길 수 있습니다.

사전 요구 사항

  • container-tools meta-package가 설치되어 있습니다.

절차

  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.timerpodman-auto-update.service 를 활성화하는 것을 확인할 수 있습니다.