19.2. Buildah 및 Podman 관계
Buildah 는 OCI(Open Container Initiative) 이미지를 빌드하기 위한 데몬리스 툴입니다. Buildah의 명령은 Containerfile
의 명령을 복제합니다. Buildah는 컨테이너 파일
없이도 이미지를 빌드할 수 있는 하위 수준 인터페이스를 제공합니다. 다른 스크립팅 언어를 사용하여 컨테이너 이미지를 빌드할 수도 있습니다. Buildah를 사용하여 컨테이너를 생성할 수 있지만 Buildah 컨테이너는 주로 컨테이너 이미지를 정의하기 위해 일시적으로 생성됩니다.
Podman 은 OCI 이미지를 유지 관리 및 수정하기 위한 데몬 없는 툴입니다(예: 가져오기 및 태그). 해당 이미지에서 생성된 컨테이너를 생성, 실행 및 유지 관리할 수 있습니다.
Podman 및 Buildah 명령 중 일부는 이름이 동일하지만 일부 측면에서는 다릅니다.
run
-
podman run
명령은 컨테이너를 실행합니다.buildah run
명령은Containerfile
의 RUN 지시문과 유사합니다. commit
- Buildah를 사용하여 Podman 및 Buildah 컨테이너에서만 Podman 컨테이너를 커밋할 수 있습니다.
rm
- Podman 및 Buildah 컨테이너만 Buildah를 사용하는 경우에만 Podman 컨테이너를 제거할 수 있습니다.
Buildah의 기본 컨테이너 스토리지는 루트 사용자의 경우 /var/lib/containers/storage
이고 루트가 아닌 사용자의 경우 $HOME/.local/share/containers/storage
입니다. 이는 CRI-O 컨테이너 엔진이 이미지의 로컬 복사본을 저장하는 데 사용하는 위치와 동일합니다. 결과적으로 CRI-O 또는 Buildah로 레지스트리에서 가져오거나 buildah
명령으로 커밋한 이미지는 동일한 디렉터리 구조에 저장됩니다. 그러나 CRI-O 및 Buildah가 현재 이미지를 공유할 수 있지만 컨테이너를 공유할 수 없습니다.