4.9. 다중 아키텍처 이미지 빌드
RHEL에서 Podman을 사용하여 다양한 하드웨어 플랫폼에서 애플리케이션을 일관되게 실행하여 다중 아키텍처 컨테이너 이미지를 빌드합니다. 각 환경에 대한 고유한 빌드 요구 사항 없이 여러 아키텍처를 지원하는 단일 이미지 매니페스트입니다.
사전 요구 사항
-
container-toolsmeta-package가 설치되어 있습니다.
프로세스
-
지원하려는 각 아키텍처에 대한 컨테이너
파일을생성합니다. 각 아키텍처에 대한 이미지를 빌드합니다. 예를 들면 다음과 같습니다.
$ 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 manifest remove < registry>/<image > sha256:cb8a924afdf….
검증
매니페스트 목록을 표시합니다.
$ podman manifest inspect <registry>/<image>자세한 내용은 시스템의
podman-build(1)및podman-manifest(1)매뉴얼 페이지를 참조하십시오.