5.2. 간단한 컨테이너 빌드


애플리케이션에 대한 아이디어가 있으며 컨테이너화하고 싶은 경우를 살펴보겠습니다.

먼저 buildah 또는 docker와 같은 컨테이너를 빌드하는 도구와 컨테이너에 들어가는 내용을 설명하는 파일(일반적으로 Dockerfile)이 필요합니다.

다음으로 결과 컨테이너 이미지를 넣을 위치가 필요하므로 실행하려는 위치로 끌어올 수 있습니다. 이 위치는 컨테이너 레지스트리입니다.

이러한 각 구성 요소의 몇 가지 예는 사용자가 직접 제공하는 Dockerfile을 제외하고 대부분의 Linux 운영 체제에 기본적으로 설치됩니다.

다음 다이어그램은 이미지를 작성하고 푸시하는 프로세스를 보여줍니다.

그림 5.1. 컨테이너화된 간단한 애플리케이션을 생성하여 레지스트리로 푸시

컨테이너화된 애플리케이션 생성 및 푸시

RHEL(Red Hat Enterprise Linux)을 운영 체제로 실행하는 컴퓨터를 사용하는 경우 컨테이너화된 애플리케이션을 생성하는 프로세스에는 다음 단계가 필요합니다.

  1. 컨테이너 빌드 툴을 설치합니다. RHEL에는 컨테이너를 빌드하고 관리하는 데 사용하는 podman, buildah 및 skopeo가 포함된 툴 세트가 포함되어 있습니다.
  2. 기본 이미지와 소프트웨어를 결합하는 Dockerfile을 생성합니다. 컨테이너 빌드에 대한 정보는 Dockerfile 이라는 파일에 포함됩니다. 이 파일에서 빌드한 기본 이미지, 설치한 소프트웨어 패키지 및 컨테이너에 복사한 소프트웨어를 식별합니다. 컨테이너 외부에 노출되는 네트워크 포트 및 컨테이너 내부에 마운트된 볼륨과 같은 매개변수 값도 식별합니다. RHEL 시스템의 디렉터리에 Dockerfile과 컨테이너화된 소프트웨어를 배치합니다.
  3. buildah 또는 docker build를 실행합니다. buildah build-using-dockerfile 또는 docker build 명령을 실행하여 선택한 기본 이미지를 로컬 시스템으로 가져오고 로컬에 저장된 컨테이너 이미지를 생성합니다. buildah를 사용하여 Dockerfile 없이 컨테이너 이미지를 빌드할 수도 있습니다.
  4. 태그를 지정하고 레지스트리로 푸시합니다. 컨테이너를 저장하고 공유할 레지스트리의 위치를 식별하는 새 컨테이너 이미지에 태그를 추가합니다. 그런 다음 podman push 또는 docker push 명령을 실행하여 레지스트리에 이미지를 푸시합니다.
  5. 이미지를 가져와 실행합니다. podman 또는 docker와 같은 컨테이너 클라이언트 도구가 있는 시스템에서 새 이미지를 식별하는 명령을 실행합니다. 예를 들어 podman run <image_name> 또는 docker run <image_name> 명령을 실행하십시오. 여기서 <image_name>은 새 컨테이너 이미지의 이름이며, quay.io/myrepo/myapp:latest와 비슷합니다. 이미지를 푸시하고 가져오려면 레지스트리에 자격 증명이 필요할 수 있습니다.

컨테이너 이미지를 빌드하고 레지스트리에 푸시하며 실행하는 프로세스에 관한 자세한 내용은 Buildah로 사용자 정의 이미지 빌드를 참조하십시오.

5.2.1. 컨테이너 빌드 도구 옵션

Docker Container Engine 및 docker 명령은 RHEL 및 기타 여러 Linux 시스템과 함께 컨테이너 작업에 널리 사용되는 도구이지만, podman, skopeo 및 buildah를 포함하는 다른 컨테이너 도구 세트를 대신 선택할 수 있습니다. Docker Container Engine 도구를 사용하여 OpenShift Container Platform 및 기타 컨테이너 플랫폼에서 실행될 컨테이너를 생성할 수 있습니다.

buildah, podman 및 skopeo를 사용하여 컨테이너를 빌드하고 관리하면 OpenShift Container Platform 또는 다른 Kubernetes 환경에 컨테이너를 궁극적으로 배치하기 위해 특별히 조정된 기능이 포함된 업계 표준 컨테이너 이미지가 생성됩니다. 이 도구에는 데몬이 없으며 루트 권한이 없이 실행할 수 있으므로 도구를 실행하는 데 드는 오버헤드가 감소됩니다.

OpenShift Container Platform에서 컨테이너를 궁극적으로 실행할 때는 CRI-O 컨테이너 엔진을 사용합니다. CRI-O는 OpenShift Container Platform 클러스터의 모든 작업자 및 컨트롤 플레인 시스템(마스터 머신이라고도 함)에서 실행되지만 CRI-O는 아직 OpenShift Container Platform 외부의 독립 실행형 런타임으로 지원되지 않습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.