5.12. 오프라인 및 Air-gapped 환경에서 bootc 이미지 빌드


인터넷 또는 Red Hat 콘텐츠 전달 네트워크에 연결하지 않고도 bootc 컨테이너 이미지를 빌드할 수 있습니다. 로컬 미러 레지스트리와 RPM 리포지토리를 사용한 다음 컨테이너 이미지를 원시, AMI 또는 ISO와 같은 VM 형식으로 변환합니다.

연결이 끊긴 인프라를 사용하려면 로컬 레지스트리에서 소스 컨테이너 이미지 및 RPM 콘텐츠를 빌드하여 구성해야 합니다. 예를 들면 다음과 같습니다.

  • 개인 웹 서버 또는 Red Hat Satellite에서 호스팅되는 개인 컨테이너 레지스트리 및 RPM 리포지토리.
  • 인터넷 대신 로컬 리포지토리에서 기본 이미지를 가져옵니다.
  • Containerfile은 기본 이미지의 로컬 미러 레지스트리를 가리키며 RPM 콘텐츠에 로컬 HTTP 서버를 사용해야 합니다.

bootc-image-builder 명령을 사용하여 컨테이너를 디스크 이미지로 변환한 후 대기 중인 환경에서 부팅 가능한 RHEL 기반 시스템을 배포할 수 있습니다.

중요

빌드 중인 컨테이너 이미지 내부에 리포지토리 구성을 정의합니다. bootc-image-builder 에서는 호스트 시스템의 리포지토리 설정을 사용할 수 없습니다. 대신 컨테이너 이미지 내에서 직접 리포지토리 구성을 제공해야 합니다.

사전 요구 사항

  • 대상 하드웨어에 배포된 Red Hat Enterprise Linux 10이 있는 실행 중인 RHEL 시스템입니다.
  • container-tools meta-package가 설치되어 있습니다.
  • 레지스트리 또는 로컬에 저장된 컨테이너에 액세스합니다.

프로세스

  1. 컨테이너 파일을 생성합니다. 예를 들면 다음과 같습니다.

    # Base image to point to your internal registry
    FROM example.com:1234/rhel10/rhel-bootc:10.2
    
    # Configure the local repo to use the files already present in the image
    # Assuming the repo data is located at /etc/pki/repos or similar inside the image
    RUN echo -e "[local-baseos]\n\
    name=Local RHEL 10 BaseOS\n\
    baseurl=file:///path/to/repo/in/image/BaseOS\n\
    enabled=1\n\
    gpgcheck=0" > /etc/yum.repos.d/local.repo
    
    # Install your required packages using the local file source
    RUN dnf install -y firewalld && \
       dnf clean all
    
    # Ensure the kernel and bootloader are present
    # In air-gapped bootc, BIB often fails because it expects to download these.
    # Pre-installing them ensures they are part of the 'bootc' transition.
    RUN dnf install -y kernel-bootc anaconda-dracut-modules && dnf clean all
  2. bootc-image-builder 툴을 사용하여 Containerfile을 ISO, raw, QCOW2와 같은 부팅 가능한 형식으로 변환합니다. bootc-image-builder 를 사용하여 bootc 호환 기본 디스크 이미지 생성 을 참조하십시오.

문제 해결

패키지가 이미 캐시된 경우 원시 디스크 이미지가 성공할 수 있습니다. ISO를 빌드하는 경우 osbuild-depsolve-dnf 종속성 문제 해결 프로세스를 트리거할 수 있습니다.

.repo 파일에 gpgkey URL이 포함된 경우 bootc-image-builder 툴은 매니페스트 생성 단계에서 gpg 키를 가져오려고 시도합니다. Air-gapped 환경에서 다음 정보를 확인하십시오.

  • gpgkey 매개변수가 이미지에 이미 있는 연결 가능한 로컬 HTTP 서버 또는 파일 경로(예: /etc/pki/rpm-gpg/ )를 가리키는지 확인합니다.
  • 키가 이미 캐시되었거나 건너뛰기 때문에 컨테이너 빌드 중에 dnf install 명령이 작동하더라도 ISO 생성 프로세스에서 이러한 키를 다시 무효화할 수 있습니다. 잘못된 URL로 인해 GPGKeyReadError 또는 404 Not Found 와 같은 오류가 발생합니다.
  • 이러한 문제를 해결하려면 GPG 키를 로컬에 저장합니다. GPG 키에 대한 원격 URL을 참조하는 대신 컨테이너 이미지에 키를 포함하고 .repo 파일에 file:/ 로 참조합니다.
  • 빌드 매니페스트 오류가 발생하면 bootc-image-builder 가 실행 중인 네트워크에서 컨테이너의 /etc/yum.repos.d/ 내의 모든 리포지토리 URL과 GPG URL에 연결할 수 있는지 확인합니다.

다음 단계

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동