Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13장. 애플리케이션을 사용하여 컨테이너 생성

이 섹션에서는 로컬에서 빌드된 애플리케이션에서 docker 형식 컨테이너 이미지를 생성하는 방법을 설명합니다. 배포에 오케스트레이션을 사용하려는 경우 컨테이너로 애플리케이션을 사용할 수 있도록 하는 것이 좋습니다. 또는 종속 항목의 충돌을 효과적으로 컨테이너화합니다.

사전 요구 사항

  • 컨테이너 이해
  • 소스에서 로컬로 빌드된 애플리케이션

절차

  1. 사용할 기본 이미지를 결정합니다.

    참고

    Red Hat Enterprise Linux를 기반으로 사용하는 기본 이미지로 시작하는 것이 좋습니다. 자세한 내용은 Red Hat Container Catalog의 기본 이미지를 참조하십시오.

  2. 작업 공간 디렉터리를 생성합니다.
  3. 애플리케이션의 모든 필수 파일이 포함된 디렉터리로 애플리케이션을 준비합니다. 이 디렉터리를 작업 공간 디렉터리에 배치합니다.
  4. 컨테이너를 생성하는 데 필요한 단계를 설명하는 Dockerfile을 작성합니다.

    콘텐츠가 포함된 Dockerfile을 생성하는 방법에 대한 자세한 내용은 Dockerfile 참조를 참조하고, 실행할 기본 명령을 설정하며, 필요한 포트 및 기타 기능을 엽니다.

    이 예에서는 my-program/ 디렉터리가 포함된 최소 Dockerfile을 보여줍니다.

    FROM registry.access.redhat.com/rhel7
    USER root
    ADD my-program/ .

    이 Dockerfile을 작업 공간 디렉터리에 배치합니다.

  5. Dockerfile에서 컨테이너 이미지를 빌드합니다.

    # docker build .
    (...)
    Successfully built container-id

    이 단계에서 새로 생성된 컨테이너 이미지의 container-id 를 기록해 둡니다.

  6. 이미지에 태그를 추가하여 컨테이너 이미지를 저장할 레지스트리를 식별합니다. 컨테이너 시작하기 - 이미지 태그 지정을 참조하십시오.

    # docker tag container-id registry:port/name

    container-id 를 이전 단계의 출력에 표시된 값으로 교체합니다.

    이미지를 푸시할 레지스트리의 주소, 포트 를 레지스트리의 포트(필요하지 않은 경우)로 바꾸고 이미지 이름으로 이름을 바꿉니다.

    예를 들어, myimage 라는 이미지가 있는 로컬 시스템에서 docker-distribution 서비스를 사용하여 레지스트리를 실행하는 경우 localhost:5000/myimage 태그를 사용하면 해당 이미지를 레지스트리로 내보낼 수 있습니다.

  7. 나중에 해당 레지스트리에서 이미지를 가져올 수 있도록 이미지를 레지스트리로 푸시합니다.

    # docker push registry:port/name

    태그 부분을 이전 단계에서 사용한 것과 동일한 값으로 바꿉니다.

    자체 Docker 레지스트리를 실행하려면 컨테이너 시작하기 - Docker 레지스트리 작업을 참조하십시오.

추가 리소스