10.19. 컨테이너

fuse-overlayfs가 있는 rootless 컨테이너는 제거된 파일을 인식하지 않습니다.

RHEL 8.4 및 이전 버전에서는 fuse-overlayfs 파일 시스템을 사용하여 rootless 이미지 및 컨테이너가 생성 또는 저장되었습니다. RHEL 8.5 이상에서 이러한 이미지와 컨테이너를 사용하면 커널에서 제공하는 overlayfs 구현 및 RHEL 8.4의 이미지에서 파일 또는 디렉터리를 제거한 overlayfs 구현을 사용하는 권한이 없는 사용자에게 문제가 발생할 수 있습니다. 이 문제는 root 계정으로 생성된 컨테이너에는 적용되지 않습니다.

예를 들어, fuse-overlayfs 파일 시스템을 사용할 경우 컨테이너에서 또는 이미지에서 제거할 파일 또는 디렉터리와 같이 화이트아웃 형식을 사용하여 표시됩니다. 그러나 형식 차이로 인해 커널 overlayfs 구현은 fuse-overlayfs에서 생성한 화이트아웃 형식을 인식하지 못합니다. 결과적으로 제거된 파일이나 디렉토리가 계속 표시됩니다. 이 문제는 root 계정으로 생성된 컨테이너에는 적용되지 않습니다.

이 문제를 해결하려면 다음 옵션 중 하나를 사용하십시오.

  1. podman unshare rm -rf $HOME/.local/share/containers/* 명령을 사용하여 권한이 없는 사용자의 컨테이너 및 이미지를 모두 제거합니다. 다음에 Podman을 실행하면 $HOME/.local/share/containers 디렉터리가 다시 생성되며 컨테이너를 다시 생성해야 합니다.
  2. rootless 사용자로 podman 명령을 계속 실행합니다. 업데이트된 버전의 podman 이 시스템에서 호출되면 $HOME/.local/share/containers 디렉터리에 있는 모든 파일을 검사하고 fuse-overlayfs를 사용할지 여부를 감지합니다. Podman은 검사 결과를 기록하여 나중에 검사를 다시 실행하지 않도록 합니다. 결과적으로 제거된 파일이 표시되지 않습니다.

fuse-overlayfs가 여전히 필요한지 감지하는 데 필요한 시간은 검사해야 하는 컨테이너 및 이미지의 수에 따라 달라집니다.

(JIRA:RHELPLAN-92741)

이전 컨테이너 이미지 내에서 systemd를 실행할 수 없습니다.

이전 컨테이너 이미지(예: centos:7) 내에서 systemd를 실행하면 작동하지 않습니다.

$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd
 Storing signatures
 Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
 [!!!!!!] Failed to mount API filesystems, freezing.

이 문제를 해결하려면 다음 명령을 사용하십시오.

# mkdir /sys/fs/cgroup/systemd
# mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd
# podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd

(JIRA:RHELPLAN-96940)

베타 GPG 키로 서명된 컨테이너 이미지를 가져올 수 없습니다.

현재 RHEL Beta 컨테이너 이미지를 가져오려고 하면 podman 이 오류 메시지와 함께 종료됩니다. 오류: 소스 이미지가 거부되었습니다. 서명이 승인되지 않았습니다. 기본적으로 RHEL 베타 GPG 키를 신뢰하지 않도록 현재 빌드로 인해 이미지를 가져오지 않습니다.

이 문제를 해결하려면 Red Hat Beta GPG 키가 로컬 시스템에 저장되어 있는지 확인하고 적절한 베타 네임스페이스에 대해 podman image trust set 명령으로 기존 신뢰 범위를 업데이트합니다.

베타 GPG 키가 로컬에 저장되지 않은 경우 다음 명령을 실행하여 가져올 수 있습니다.

sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta https://www.redhat.com/security/data/f21541eb.txt

네임스페이스에 신뢰할 수 있는 베타 GPG 키를 추가하려면 다음 명령 중 하나를 사용합니다.

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.access.redhat.com/namespace

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.redhat.io/namespace

네임스페이스ubi9-beta 또는 rhel9-beta 로 바꿉니다.

(BZ#2020301)