4.8. 다중 아키텍처 이미지 빌드
podman build --platform
명령을 사용하여 다중 아키텍처 컨테이너 이미지를 생성할 수 있습니다. 컨테이너 이미지는 일반적으로 x86 또는 ARM과 같은 특정 아키텍처용으로 빌드됩니다. 하드웨어 다각화 및 클라우드 플랫폼이 확장됨에 따라 다중 아키텍처 지원이 중요해 다양한 아키텍처에서 동일한 이미지를 배포할 수 있게 되었습니다.
사전 요구 사항
-
container-tools
모듈이 설치되어 있습니다.
절차
-
지원하려는 각 아키텍처에 대한 컨테이너
파일을
생성합니다. 각 아키텍처에 대한 이미지를 빌드합니다. 예를 들면 다음과 같습니다.
$ podman build --platform linux/arm64,linux/amd64 --manifest <registry>/<image> .
-
--platform linux/arm64,linux/amd64
옵션은 컨테이너 이미지가 빌드되는 대상 플랫폼을 지정합니다. -
--manifest < registry>/<image
> 옵션은 지정된 이름, 즉 <registry>/<image
> 인 매니페스트 목록을 생성하고 새로 빌드된 이미지를 추가합니다. 매니페스트 목록은 이미지 매니페스트 컬렉션이며 각각 다른 아키텍처를 대상으로 합니다.
-
매니페스트 목록을 레지스트리로 푸시합니다.
$ podman manifest push <registry>/<image>
이 매니페스트 목록은 다중 아키텍처 컨테이너를 가져오기 위한 단일 진입점 역할을 합니다.
결과적으로 단일 매니페스트 목록을 기반으로 플랫폼의 적절한 컨테이너 이미지를 가져올 수 있습니다.
podman manifest remove <manifest_list> < digest _ID > 명령을 사용하여 매니페스트목록에서 항목을 제거할
수도 있습니다. 여기서 < digest_ID
>는 컨테이너 이미지의 SHA-256 체크섬입니다. 예: podman 매니페스트 제거 < registry>/<image > sha256:cb8a924afdf…
.
검증
매니페스트 목록을 표시합니다.
$ podman manifest inspect <registry>/<image>
추가 리소스
-
podman-build(1)
도움말 페이지 -
podman-manifest(1)
도움말 페이지 - 다중 아키텍처 컨테이너 이미지 빌드 방법