Red Hat Training

A Red Hat training course is available for RHEL 8

18.8. 더 적은 권한으로 Podman 실행

privileged 옵션 없이 중첩된 두 개의 Podman 컨테이너를 실행할 수 있습니다. privileged 옵션 없이 컨테이너를 실행하는 것이 더 안전한 옵션입니다.

이는 가능한 한 가장 안전한 방법으로 다양한 버전의 Podman을 시도하려는 경우 유용할 수 있습니다.

사전 요구 사항

  • container-tools 모듈이 설치되어 있습니다.

절차

  • 중첩된 두 개의 컨테이너를 실행합니다.

    $ podman run --name=unprivileged_podman --security-opt label=disable \
      --user podman --device /dev/fuse \
      registry.access.redhat.com/ubi8/podman \
      podman run ubi8 echo hello
  • registry.access.redhat.com/ubi8/ podman 이미지를 기반으로 privileged_ podman이라는 외부 컨테이너를 실행합니다.
  • security -opt label=disable 옵션은 호스트 Podman에서 SELinux 분리를 비활성화합니다. SELinux는 컨테이너화된 프로세스가 컨테이너 내부에서 실행하는 데 필요한 모든 파일 시스템을 마운트할 수 있도록 허용하지 않습니다.
  • user podman 옵션을 사용하면 외부 컨테이너 내부의 Podman이 사용자 네임스페이스 내에서 자동으로 실행됩니다.
  • device /dev/fuse 옵션은 컨테이너 내부의 fuse-overlayfs 패키지를 사용합니다. 이 옵션은 컨테이너 내부의 Podman에서 사용할 수 있도록 /dev/fuse 를 외부 컨테이너에 추가합니다.
  • podman run ubi8 echo hello 명령을 실행하여 ubi8 이미지를 기반으로 내부 컨테이너를 생성합니다.
  • ubi8의 짧은 이미지 이름이 별칭으로 확인되었습니다. 결과적으로 registry.access.redhat.com/ubi8:latest 이미지를 가져옵니다.

검증

  • 모든 컨테이너를 나열합니다.

    $ podman ps -a
    CONTAINER ID  IMAGE                            COMMAND               CREATED            STATUS                          PORTS   NAMES
    a47b26290f43               podman run ubi8 e...  30 seconds ago     Exited (0) 13 seconds ago               unprivileged_podman