5.4. 컨테이너 빌드


Buildah는 Red Hat Enterprise Linux에서 컨테이너를 빌드하는 기본 툴이며 Podman과 함께 사용하여 빌드하는 컨테이너를 관리하고 실행할 수 있습니다.

사전 요구 사항

  1. container-tools meta-package가 설치되어 있습니다.

절차

  1. 컨테이너 툴을 설치합니다. 필요한 컨테이너 도구가 RHEL 시스템에 설치되어 있는지 확인합니다. container-tools 모듈은 Buildah, Podman, Skopeo를 제공합니다.

    $ sudo dnf install container-tools
  2. 컨테이너 파일을 생성합니다. Containerfile은 컨테이너 이미지 빌드에 대한 지침을 정의합니다. 이 파일은 기본 이미지, 설치할 모든 소프트웨어, 적용할 구성 및 실행할 애플리케이션을 지정합니다. 예를 들면 다음과 같습니다.

    FROM registry.redhat.io/ubi9/ubi9-minimal
    RUN microdnf -y update && microdnf -y install
    COPY index.html /var/www/html/
    EXPOSE 80
    CMD ["httpd", "-DFOREGROUND"]
  3. Buildah를 사용하여 컨테이너 이미지를 빌드합니다. Buildah bud (또는 podman build)를 사용하여 컨테이너 파일이 포함된 디렉터리로 이동한 후 이미지를 빌드합니다.

    $ cd /<path_to_container_file>
    
    $ buildah bud -t <your_image_name>:_<tag>_
    • your_image_name: 이미지 이름입니다.
    • 태그: 이미지의 태그(예: latest, 1.0)입니다.
    • .: Containerfile이 현재 디렉터리에 있음을 나타냅니다.
  4. 컨테이너를 실행합니다. 이미지를 빌드한 후 podman run 명령을 사용하여 컨테이너에서 컨테이너를 실행할 수 있습니다.

    $ podman run -d -p 8080:80 my-web-app
    • -d: 컨테이너를 분리 모드로 실행합니다(백업에서).
    • -p 8080:80: 호스트의 8080 포트를 컨테이너 내부의 포트 80에 매핑합니다.
    • my-web-app: 실행할 이미지의 이름입니다.

컨테이너 빌드의 heredocs 구문

Containerfile에서 heredoc 구문을 Red Hat Enterprise Linux 기본 이미지와 함께 사용하면 BuildKit 을 활성화할 수 있습니다. 명령에 heredoc 구문이 포함된 경우 Containerfile은 행에 동일한 명령의 일부로 heredoc 구분 기호만 포함될 때까지 다음 행을 고려합니다. heredocs 를 사용하여 Containerfile의 RUN 또는 COPY 와 같은 명령어 내에 여러 줄 문자열을 직접 포함할 수 있습니다. 이는 RHEL 기반 이미지에서 특히 유용합니다. 간단한 작업을 위해 별도의 스크립트 파일을 생성할 필요가 없어 가독성과 유지 관리가 개선되기 때문입니다.

예를 들어 일반적인 사용 사례는 단일 RUN 명령에서 여러 쉘 명령을 실행하여 단일 이미지 계층을 생성하여 &amp ;& \ 구문을 방지합니다.

# syntax=container/containerfile:1.4
FROM registry.redhat.io/ubi9/ubi-minimal
# Use a heredoc to perform a multi-line RUN command:
RUN <<EOF
microdnf -y update
microdnf -y install nginx
microdnf clean all
echo "Nginx installed and packages updated"
EOF
  • RUN <<EOF: & lt;여기doc의 시작 신호 및 EOF 는 사용자 정의 구분 기호입니다.
  • < EOF 와 최종 EOF 사이의 줄은 쉘에 의해 실행되는 단일 스크립트로 취급됩니다.
  • 전체 블록은 단일 RUN 명령이며 더 효율적이고 읽기 쉽습니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동