본문 바로가기

가상 머신/Docker

[ Docker ] build 명령어로 나만의 이미지 만들기

반응형

 

 

 

Docker 이미지를 만드는 방법은 크게 Dockerfile을 작성하고, 그 파일을 사용하여 이미지를 빌드하는 과정으로 나눌 수 있습니다. 여기에 간단한 예시를 들어 설명드리겠습니다.

 

 

1단계: Dockerfile 작성

Dockerfile은 Docker 이미지를 빌드하기 위한 스크립트로, 필요한 모든 명령어와 설정을 포함합니다. 가장 기본적인 Dockerfile은 다음과 같습니다:

  1. 기본 이미지 지정: 모든 Docker 이미지는 기본 이미지에서 시작합니다. 이는 OS 또는 미리 구성된 다른 이미지일 수 있습니다.
   FROM ubuntu:20.04
  1. 환경 설정: 필요한 패키지 설치, 환경 변수 설정 등의 초기 설정 작업을 수행합니다.
    예로 nginx가 설치된 이미지를 만듭니다.
   RUN apt-get update && apt-get install -y nginx
  1. 파일 추가: 호스트 시스템의 파일이나 디렉토리를 이미지로 복사합니다.
   COPY . /usr/share/nginx/html
  1. 실행 명령 설정: 컨테이너가 시작될 때 실행될 명령을 설정합니다.
   CMD ["nginx", "-g", "daemon off;"]

위의 예시는 ubuntu:20.04를 기반으로 Nginx를 설치하고, 현재 디렉토리의 내용을 Nginx의 웹 루트에 복사한 후, Nginx를 포그라운드에서 실행하도록 설정한 Dockerfile입니다.

 

 

2단계: Docker 이미지 빌드

Dockerfile을 작성한 후에는 다음 명령어를 사용하여 Docker 이미지를 빌드할 수 있습니다:

docker build -t my-nginx-image .
  • docker build: Docker 이미지를 빌드하는 명령어입니다.
  • -t my-nginx-image: 빌드된 이미지에 my-nginx-image라는 태그를 지정합니다.
  • 마지막의 .: Dockerfile이 위치한 디렉토리를 가리키며, Docker 빌드 컨텍스트를 나타냅니다.

 

 

3단계: 이미지 실행

이미지 빌드가 완료되면 다음 명령어로 Docker 컨테이너를 실행할 수 있습니다:

docker run -p 8080:80 my-nginx-image
  • docker run: 컨테이너를 시작하는 명령어입니다.
  • -p 8080:80: 호스트의 8080 포트와 컨테이너의 80 포트를 연결합니다.
  • my-nginx-image: 실행할 이미지의 이름입니다.

이렇게 하면 빌드한 이미지로부터 컨테이너가 생성되고, 지정한 포트를 통해 외부에서 접근할 수 있게 됩니다.

반응형