4.18. 컨테이너
Podman에서 container.conf 모듈 지원
Podman 모듈을 사용하여 사전 정의된 구성 세트를 로드할 수 있습니다. Podman 모듈은 TOML 형식의 containers.conf
파일입니다.
이러한 모듈은 다음 디렉터리 또는 하위 디렉터리에 있습니다.
-
rootless 사용자의 경우:
$HOME/.config/containers/containers.conf.modules
-
root 사용자의 경우:
/etc/containers/containers.conf.modules
또는/usr/share/containers/containers.conf.modules
podman --module <your_module_name> 명령을 사용하여 온디맨드 모듈을
로드하여 시스템 및 사용자 구성 파일을 덮어쓸 수 있습니다. 모듈 작업에는 다음과 같은 사실이 포함됩니다.
-
module
옵션을 사용하여 모듈을 여러 번 지정할 수 있습니다. -
&
lt;your_module_name
>이 절대 경로이면 구성 파일이 직접 로드됩니다. - 상대 경로는 이전에 언급한 세 개의 모듈 디렉터리에 따라 해결됩니다.
-
$HOME
의 모듈은/etc/
및/usr/share/
디렉터리의 모듈을 재정의합니다.
자세한 내용은 업스트림 설명서 를 참조하십시오.
Jira:RHELPLAN-167829[1]
컨테이너 툴 패키지가 업데이트됨
Podman, Buildah, Skopeo, crun, runc 툴이 포함된 업데이트된 컨테이너 툴 RPM 메타 패키지를 사용할 수 있습니다. 이전 버전에 비해 주요 버그 수정 및 개선 사항은 다음과 같습니다.
Podman v4.9에서 주요 변경 사항:
-
podman --module <your_module_name
> 명령을 사용하고 시스템 및 사용자 구성 파일을 재정의하여 Podman을 사용하여 온디맨드로 모듈을 로드할 수 있습니다. -
create
,
set ,remove
하위 명령세트가
포함된 새로운Podman
명령이 추가되었습니다. 이러한 명령을 사용하면 다양한 아키텍처에서 podman을 실행하는 머신에 대한 빌드를 스플릿 아웃할 수 있습니다. -
Docker 구성과 같은 외부 구성 공급자를 사용하여 Compose 워크로드를 실행하는 새로운
podman-compose
명령이 추가되었습니다. -
podman build
명령에서--layer-label
및--cw
옵션을 지원합니다. -
podman generate systemd
명령은 더 이상 사용되지 않습니다. Quadlet을 사용하여systemd
에서 컨테이너 및 Pod를 실행합니다. -
이제
podman build
명령에서hereDoc 구문을 사용하여Containerfiles
를 지원합니다. -
이제
podman kube play
명령에서 새--publish-all
옵션을 지원합니다. 이 옵션을 사용하여 호스트의 모든 containerPorts를 노출합니다.
주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.
Jira:RHELPLAN-167796[1]
Podman v4.9 RESTful API에서 진행 데이터를 표시
이번 개선된 기능을 통해 레지스트리에 이미지를 가져오거나 푸시할 때 Podman v4.9 RESTful API에서 진행 중인 데이터를 표시할 수 있습니다.
Jira:RHELPLAN-167823[1]
Toolbx 사용 가능
Toolbx를 사용하면 기본 운영 체제에 영향을 주지 않고 개발 및 디버깅 도구, 편집기 및 소프트웨어 개발 키트(SDK)를 Toolbx 완전히 변경 가능한 컨테이너에 설치할 수 있습니다. Toolbx 컨테이너는 registry.access.redhat.com/ubi9.4/toolbox:latest
이미지를 기반으로 합니다.
Jira:RHELDOCS-16241[1]
SQLite가 Podman의 기본 데이터베이스 백엔드로 완전히 지원됨
Podman v4.9를 사용하면 이전에 기술 프리뷰로 사용 가능한 Podman의 SQLite 데이터베이스 백엔드가 완전히 지원됩니다. SQLite 데이터베이스는 컨테이너 메타데이터로 작업할 때 더 나은 안정성, 성능 및 일관성을 제공합니다. SQLite 데이터베이스 백엔드는 RHEL 9.4의 새 설치를 위한 기본 백엔드입니다. 이전 RHEL 버전에서 업그레이드하는 경우 기본 백엔드는 BoltDB입니다.
containers.conf
파일에서 database_backend
옵션을 사용하여 데이터베이스 백엔드를 명시적으로 구성한 경우 Podman은 지정된 백엔드를 계속 사용합니다.
Jira:RHELPLAN-168180[1]
관리자는 nftables
를 사용하여 방화벽 규칙에 대한 격리를 설정할 수 있습니다.
iptables
를 설치하지 않은 시스템에서 Podman 컨테이너 네트워킹 스택인 Netavark를 사용할 수 있습니다. 이전에는 컨테이너 네트워킹 인터페이스(CNI) 네트워킹을 사용할 때 Netavark로 간주할 때 iptables
를 설치하지 않은 시스템에서 컨테이너 네트워킹을 설정할 수 없었습니다. 이번 개선된 기능을 통해 Netavark 네트워크 스택은 nftables
가 설치된 시스템에서만 작동하며 자동으로 생성된 방화벽 규칙을 격리할 수 있습니다.
Jira:RHELDOCS-16955[1]
Containerfile
에서 여러 줄 지침을 지원
Containerfile
파일에서 여러 줄hereDoc 명령( here Document notation)을 사용하여 이 파일을 단순화하고 여러 RUN
지시문을 수행하여 이미지 계층 수를 줄일 수 있습니다.
예를 들어 원래 Containerfile
에는 다음 RUN
지시문이 포함될 수 있습니다.
RUN dnf update RUN dnf -y install golang RUN dnf -y install java
여러 RUN 지시문 대신 hereDoc 표기법을 사용할 수 있습니다.
RUN <<EOF dnf update dnf -y install golang dnf -y install java EOF
Jira:RHELPLAN-168185[1]
gvisor-tap-vsock
패키지를 사용할 수 있음
gvisor-tap-vsock
패키지는 libslirp
사용자 모드 네트워킹 라이브러리 및 VPNKit 도구 및 서비스의 대안입니다. Go로 작성되었으며 gVisor의 네트워크 스택을 기반으로 합니다. libslirp
와 비교하여 gvisor-tap-vsock
라이브러리는 구성 가능한 DNS 서버 및 동적 포트 전달을 지원합니다. podman-machine 가상 머신에 gvisor-tap-vsock
네트워킹 라이브러리를 사용할 수 있습니다. 가상 머신을 관리하기 위한 podman machine
명령은 현재 Red Hat Enterprise Linux에서 지원되지 않습니다.
Jira:RHELPLAN-167396[1]