14.8. Podman을 사용하여 컨테이너 자동 업데이트
podman auto-update
명령을 사용하면 자동 업데이트 정책에 따라 컨테이너를 자동으로 업데이트할 수 있습니다. podman auto-update
명령은 컨테이너 이미지가 레지스트리에서 업데이트될 때 서비스를 업데이트합니다. 자동 업데이트를 사용하려면 --label "io.containers.autoupdate=image"
라벨을 사용하여 컨테이너를 생성하고 podman generate
명령으로 생성된 systemd 단위로 실행해야 합니다.
systemd
--new
Podman은 "io.containers.autoupdate"
레이블이 "image"
로 설정된 실행 중인 컨테이너를 검색하고 컨테이너 레지스트리와 통신합니다. 이미지가 변경되면 Podman은 해당 systemd
장치를 다시 시작하여 이전 컨테이너를 중지하고 새 이미지를 사용하여 새 컨테이너를 생성합니다. 결과적으로 컨테이너, 해당 환경 및 모든 종속 항목이 다시 시작됩니다.
Podman v4.6부터 일반 systemd
장치 파일과 유사한 형식으로 컨테이너를 실행하는 방법을 설명하고 systemd
에서 실행 중인 컨테이너의 복잡성을 숨길 수 있습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
절차
registry.access.redhat.com/ubi9/ubi-init
이미지를 기반으로myubi
컨테이너를 시작합니다.# podman run --label "io.containers.autoupdate=image" \ --name myubi -dt registry.access.redhat.com/ubi9/ubi-init top bc219740a210455fa27deacc96d50a9e20516492f1417507c13ce1533dbdcd9d
선택 사항: 실행 중이거나 종료된 컨테이너를 나열합니다.
# podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 76465a5e2933 registry.access.redhat.com/9/ubi-init:latest top 24 seconds ago Up 23 seconds ago myubi
myubi
컨테이너의systemd
장치 파일을 생성합니다.# podman generate systemd --new --files --name myubi /root/container-myubi.service
장치 파일을 루트 사용자로 설치하기 위해
/usr/lib/systemd/system
에 복사합니다.# cp -Z ~/container-myubi.service /usr/lib/systemd/system
systemd
관리자 설정을 다시 로드합니다.# systemctl daemon-reload
컨테이너 상태를 시작하고 확인합니다.
# systemctl start container-myubi.service # systemctl status container-myubi.service
컨테이너 자동 업데이트:
# podman auto-update