4.8. 빌딩 멀티 아키텍처 이미지
podman build --platform 명령을 사용하여 다중 아키텍처 컨테이너 이미지를 생성할 수 있습니다. 컨테이너 이미지는 일반적으로 x86 또는 ARM과 같은 특정 아키텍처에 사용됩니다. 하드웨어 다양성과 클라우드 플랫폼이 확장되면서 멀티 아키텍처 지원이 필수적이 되었고, 서로 다른 아키텍처에 대해 동일한 이미지를 deployment 수 있게 되었습니다.
사전 요구 사항
-
container-toolsmeta-package가 설치되어 있습니다.
절차
-
지원할 각 아키텍처에 대해
Containerfiles를 생성합니다. 각 아키텍처에 대한 이미지를 구축합니다. 예를 들면 다음과 같습니다.
$ podman build --platform linux/arm64,linux/amd64 --manifest <registry>/<image> .-
--platform linux/arm64, linux/amd64옵션은 컨테이너 이미지를 구축하는 대상 플랫폼을 지정합니다. -
--manifest <registry>/옵션은 지정된 이름인<registry>/<image>의 매니페스트 목록을 생성하고 새로 생성된 이미지를 추가합니다. 매니페스트 목록은 이미지 매니페스트의 집합으로 각각 다른 아키텍처를 대상으로 합니다.
-
매니페스트 목록을 레지스트리로 눌러:
$ podman manifest push <registry>/<image>이 매니페스트 목록은 멀티 아키텍처 컨테이너를 끌어내는 단일 입력 지점으로 작용합니다.
결과적으로 플랫폼에 적합한 컨테이너 이미지를 하나의 매니페스트 목록을 기반으로 끌 수 있습니다.
또한 podman manifeste remove <manifest_list> <digest_ID> 명령을 사용하여 매니페스트 목록에서 항목을 제거할 수 있습니다. 여기서 <digest_ID>는 컨테이너 이미지의 SHA-256 체크sum입니다. 예를 들어: podman manifest remove <register>/<image> sha256:cb8a924afdf....
검증
Manifesto 목록 표시:
$ podman manifest inspect <registry>/<image>