16.8. 더 적은 권한으로 Podman 실행
--privileged
옵션 없이 두 개의 중첩된 Podman 컨테이너를 실행할 수 있습니다. --privileged
옵션 없이 컨테이너를 실행하는 것은 더 안전한 옵션입니다.
이 기능은 가능한 가장 안전한 방법으로 Podman의 다른 버전을 시도하려는 경우 유용할 수 있습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
프로세스
두 개의 중첩된 컨테이너를 실행합니다.
podman run --name=unprivileged_podman --security-opt label=disable \ --user podman --device /dev/fuse \ registry.access.redhat.com/ubi10/podman \ podman run ubi10 echo hello
$ podman run --name=unprivileged_podman --security-opt label=disable \ --user podman --device /dev/fuse \ registry.access.redhat.com/ubi10/podman \ podman run ubi10 echo hello
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
registry.access.redhat.com/ubi10/podman
이미지를 기반으로unprivileged_podman
이라는 외부 컨테이너를 실행합니다. -
--security-opt label=disable
옵션은 호스트 Podman에서 SELinux 분리를 비활성화합니다. SELinux는 컨테이너화된 프로세스에서 컨테이너 내에서 실행하는 데 필요한 모든 파일 시스템을 마운트할 수 없습니다. -
--user podman
옵션을 사용하면 외부 컨테이너 내부의 Podman이 사용자 네임스페이스 내에서 자동으로 실행됩니다. -
--device /dev/fuse
옵션은 컨테이너 내부의fuse-overlayfs
패키지를 사용합니다. 이 옵션은 컨테이너 내부의 Podman이 이를 사용할 수 있도록 외부 컨테이너에/dev/fuse
를 추가합니다. -
podman run ubi10 echo hello
명령을 실행하여ubi10
이미지를 기반으로 내부 컨테이너를 생성합니다. -
ubi10 짧은 이미지 이름이 별칭으로 확인되었습니다. 결과적으로
registry.access.redhat.com/ubi10:latest
이미지를 가져옵니다.
검증
모든 컨테이너를 나열합니다.
podman ps -a
$ podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a47b26290f43 podman run ubi10 e... 30 seconds ago Exited (0) 13 seconds ago unprivileged_podman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow