Red Hat Training

A Red Hat training course is available for RHEL 8

10.4. 이미지를 빌드하여 이미지로 컨테이너 가져오기

컨테이너 이미지를 생성한 후에는 사용자 지정 이미지를 빌드하고 컨테이너 이미지를 가져올 수 있습니다. 이를 위해 최종 이미지의 컨테이너 사용자 지정 과 최종 이미지의 컨테이너 이름을 지정해야 합니다. 빌드 프로세스 중에 컨테이너 이미지를 가져와 로컬 Podman 컨테이너 스토리지에 배치됩니다.

사전 요구 사항

절차

  1. qcow2 이미지를 빌드하기 위해 이름이 생성되었습니다. template에는 사용자 지정이 포함되어야 합니다.

    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
  2. 다음과 같이 푸시합니다.

    # composer-cli blueprints push blueprint-image.toml
  3. 컨테이너 이미지를 빌드합니다.

    # composer-cli start compose image qcow2
    • image 는 이름이 됩니다.
    • qcow2 는 이미지 유형입니다.

      참고

      이미지를 빌드하는 데 시간이 걸립니다. quay.io 레지스트리에서 컨테이너를 확인합니다.

  4. compose의 상태를 확인하려면 다음을 수행하십시오.

    # composer-cli compose status

    완료된 작성에는 FINISHED 상태 값이 표시됩니다. 목록에서 작성을 확인하려면 해당 UUID를 사용합니다.

  5. 작성 프로세스가 완료되면 결과 이미지 파일을 기본 다운로드 위치로 다운로드합니다.

    # composer-cli compose image UUID

    UUID를 이전 단계에 표시된 UUID 값으로 바꿉니다.

    생성하고 다운로드한 qcow2 이미지를 사용하여 VM을 생성할 수 있습니다.

검증

다운로드한 결과 qcow2 이미지에서 다음 단계를 수행합니다.

  1. VM에서 qcow2 이미지를 시작합니다. KVM 게스트 이미지에서 가상 머신 생성을 참조하십시오.
  2. qemu 마법사가 열립니다. qcow2 이미지에 로그인합니다.

    1. 사용자 이름과 암호를 입력합니다. 이는 "customizations.user" 섹션의 .qcow2 에 설정한 사용자 이름과 암호이거나 cloud-init 을 사용하여 부팅 시 생성할 수 있습니다.
  3. 컨테이너 이미지를 실행하고 컨테이너 내에서 쉘 프롬프트를 엽니다.

    # podman run -it registry.access.redhat.com/ubi9:8080/osbuild/repository /bin/bash/

    registry.access.redhat.com 은 대상 레지스트리이며, osbuild 는 조직이며, 빌드가 완료되면 컨테이너를 푸시할 위치입니다.

  4. 사용자가 추가한 패키지를 사용할 수 있는지 확인합니다.

    # type -a nginx

    출력에 nginx 패키지 경로가 표시됩니다.