9.4. 이미지를 빌드하여 이미지로 컨테이너 가져오기
컨테이너 이미지를 생성한 후에는 사용자 지정 이미지를 빌드하고 컨테이너 이미지를 가져올 수 있습니다. 이를 위해 최종 이미지의 컨테이너 사용자 지정 과 최종 이미지의 컨테이너 이름을 지정해야 합니다. 빌드 프로세스 중에 컨테이너 이미지를 가져와 로컬 Podman 컨테이너 스토리지에 배치됩니다.
사전 요구 사항
-
컨테이너 이미지를 생성하여 로컬
quay.io
컨테이너 레지스트리 인스턴스로 푸시했습니다. 컨테이너 아티팩트를 컨테이너 레지스트리로 직접 푸시를 참조하십시오. - registry.access.redhat.com 에 액세스할 수 있습니다.
-
컨테이너
매니페스트 ID
가 있습니다. -
qemu-kvm
및qemu-img
패키지가 설치되어 있어야 합니다.
절차
qcow2
이미지를 빌드하기 위해 이름이 생성되었습니다. 블루프린트에는 "" 사용자 지정이 포함되어야 합니다.name = "image" description = "A qcow2 image with a container" version = "0.0.1" distro = "rhel-90" [[packages]] name = "podman" version = "*" [[containers]] source = "registry.access.redhat.com/ubi9:8080/osbuild/container/container-image@sha256:manifest-ID-from-Repository-tag: tag-version" name = "source-name" tls-verify = true
다음과 같이 푸시합니다.
# composer-cli blueprints push blueprint-image.toml
컨테이너 이미지를 빌드합니다.
# composer-cli start compose image qcow2
- image 는 이름이 됩니다.
qcow2
는 이미지 유형입니다.참고이미지를 빌드하는 데 시간이 걸립니다.
quay.io
레지스트리에서 컨테이너를 확인합니다.
compose의 상태를 확인하려면 다음을 수행하십시오.
# composer-cli compose status
완료된 작성에는 FINISHED 상태 값이 표시됩니다. 목록에서 작성을 확인하려면 해당 UUID를 사용합니다.
작성 프로세스가 완료되면 결과 이미지 파일을 기본 다운로드 위치로 다운로드합니다.
# composer-cli compose image UUID
UUID를 이전 단계에 표시된 UUID 값으로 바꿉니다.
생성하고 다운로드한
qcow2
이미지를 사용하여 VM을 생성할 수 있습니다.
검증
다운로드한 결과 qcow2
이미지에서 다음 단계를 수행합니다.
-
VM에서
qcow2
이미지를 시작합니다. KVM 게스트 이미지에서 가상 머신 생성을 참조하십시오. qemu
마법사가 열립니다.qcow2
이미지에 로그인합니다.-
사용자 이름과 암호를 입력합니다. 이는 "customizations.user" 섹션의
.qcow2
에 설정한 사용자 이름과 암호이거나cloud-init
을 사용하여 부팅 시 생성할 수 있습니다.
-
사용자 이름과 암호를 입력합니다. 이는 "customizations.user" 섹션의
컨테이너 이미지를 실행하고 컨테이너 내에서 쉘 프롬프트를 엽니다.
# podman run -it registry.access.redhat.com/ubi9:8080/osbuild/repository /bin/bash/
registry.access.redhat.com
은 대상 레지스트리이며,osbuild
는 조직이며, 빌드가 완료되면 컨테이너를 푸시할 위치입니다.사용자가 추가한 패키지를 사용할 수 있는지 확인합니다.
# type -a nginx
출력에
nginx
패키지 경로가 표시됩니다.