19장. 특수 컨테이너 이미지 실행
특정 유형의 컨테이너 이미지를 실행할 수 있습니다. 일부 컨테이너 이미지에는 runlabels 라는 기본 제공 레이블이 있어 사전 설정된 옵션 및 인수를 사용하여 해당 컨테이너를 실행할 수 있습니다. podman 컨테이너 runlabel < label
> 명령은 컨테이너 이미지의 < label
>에 정의된 명령을 실행할 수 있습니다. 지원되는 레이블은 설치
,실행
및 제거
입니다.
19.1. 호스트에 대한 권한 열기 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
권한 있는 컨테이너와 권한이 없는 컨테이너에는 몇 가지 차이점이 있습니다. 예를 들어 toolbox 컨테이너는 권한 있는 컨테이너입니다. 다음은 컨테이너에서 호스트에 열려 있거나 열 수 있는 권한의 예입니다.
-
권한 있는 컨테이너는 호스트에서 컨테이너를 격리하는 보안 기능을 비활성화합니다.
podman run --privileged < image_name> 명령을 사용하여 권한
있는 컨테이너를 실행할 수 있습니다. 예를 들어 root 사용자가 소유한 호스트에서 마운트된 파일과 디렉터리를 삭제할 수 있습니다. -
Process tables:
podman run --privileged --pid=host < image_name
> 명령을 사용하여 컨테이너에 호스트 PID 네임스페이스를 사용할 수 있습니다. 그런 다음 권한 있는 컨테이너 내에서ps -e
명령을 사용하여 호스트에서 실행 중인 모든 프로세스를 나열할 수 있습니다. 호스트에서 프로세스 ID를 권한 있는 컨테이너에서 실행되는 명령으로 전달할 수 있습니다(예: <PID> 종료
). -
네트워크 인터페이스: 기본적으로 컨테이너에는 하나의 외부 네트워크 인터페이스와 하나의 루프백 네트워크 인터페이스만 있습니다.
podman run --net=host < image_name
> 명령을 사용하여 컨테이너 내에서 직접 호스트 네트워크 인터페이스에 액세스할 수 있습니다. -
프로세스 간 통신: 호스트의 IPC 기능은 권한 있는 컨테이너 내에서 액세스할 수 있습니다.
ipcs
와 같은 명령을 실행하여 호스트의 활성 메시지 대기열, 공유 메모리 세그먼트 및 세마포일에 대한 정보를 확인할 수 있습니다.