1.6. rootless 컨테이너 설정
수퍼유저 권한(root 사용자)이 있는 사용자로 Podman, Skopeo 또는 Buildah와 같은 컨테이너 툴을 실행하는 것이 시스템에서 사용 가능한 모든 기능에 대한 전체 액세스 권한을 확보할 수 있도록 하는 가장 좋은 방법입니다. 그러나 Red Hat Enterprise Linux 8.1에서 일반적으로 제공되는 "Rootless Containers"라는 기능을 사용하면 일반 사용자로 컨테이너를 사용할 수 있습니다.
Docker와 같은 컨테이너 엔진을 사용하면 일반(비 루트) 사용자로 Docker 명령을 실행할 수 있지만 해당 요청을 전송하는 Docker 데몬은 root로 실행됩니다. 따라서 일반 사용자는 시스템을 손상시킬 수 있는 컨테이너를 통해 요청할 수 있습니다. 시스템 관리자는 rootless 컨테이너 사용자를 설정하면 일반 사용자의 컨테이너 활동이 손상될 수 있지만 사용자는 자신의 계정에서 대부분의 컨테이너 기능을 안전하게 실행할 수 있습니다.
다음 절차에서는 Podman, Skopeo 및 Buildah 툴을 사용하여 root가 아닌 사용자(rootless)로 컨테이너를 사용하도록 시스템을 설정하는 방법을 설명합니다. 또한 일반 사용자 계정에 컨테이너를 실행해야 하는 모든 운영 체제 기능에 대한 전체 액세스 권한이 없기 때문에 발생할 몇 가지 제한 사항도 설명합니다.
사전 요구 사항
- 루트가 아닌 사용자 계정이 컨테이너 툴을 사용할 수 있도록 RHEL 시스템을 설정하려면 root 사용자가 되어야 합니다.
절차
- RHEL을 설치합니다.
podman
패키지를 설치합니다.# dnf install podman -y
새 사용자 계정을 생성합니다.
# useradd -c "Joe Jones" joe # passwd joe
- 사용자는 rootless Podman을 사용할 수 있도록 자동으로 구성됩니다.
-
useradd
명령은/etc/subuid
및/etc/subgid
파일에서 액세스 가능한 사용자 및 그룹 ID의 범위를 자동으로 설정합니다. -
/etc/subuid
또는/etc/subgid
를 수동으로 변경하는 경우podman system migrate
명령을 실행하여 새 변경 사항을 적용해야 합니다.
사용자 연결:
$ ssh joe@server.example.com
참고이러한 명령이 올바른 환경 변수를 설정하지 않으므로
su
또는su -
명령을 사용하지 마십시오.registry.access.redhat.com/ubi9/ubi
컨테이너 이미지를 가져옵니다.$ podman pull registry.access.redhat.com/ubi9/ubi
myubi
라는 컨테이너를 실행하고 OS 버전을 표시합니다.$ podman run --rm --name=myubi registry.access.redhat.com/ubi9/ubi \ cat /etc/os-release NAME="Red Hat Enterprise Linux" VERSION="9 (Plow)"
추가 리소스
- Podman이 있는 rootless 컨테이너: 기본 사항
-
podman-system-migrate
매뉴얼 페이지