how to use dockerfile

Dockerfile이란?

Dockerfile은 Docker 이미지를 빌드하기 위한 설정 파일입니다. 이 파일은 사용자가 원하는 도커 이미지를 정의하고, 이미지 빌드을 위해 필요한 단계와 명령을 포함합니다.

Dockerfile 작성하기

Dockerfile은 일반 텍스트 파일로 작성되며, 다음과 같은 기본 구조를 갖습니다.

“`Dockerfile

베이스 이미지 정의

FROM base_image:tag

추가적인 필요한 모든 파일 복사

COPY source_dir destination_dir

컨테이너 내에서 실행 될 명령어

RUN command1
RUN command2

포트 열기

EXPOSE port_number

이미지 실행 시 실행될 기본 명령어

CMD [“executable”]
“`

예시 Dockerfile 작성하기

이제 실제로 예시를 통해 Dockerfile을 작성해보겠습니다.

“`Dockerfile

베이스 이미지 설정

FROM ubuntu:latest

필요한 파일 복사

COPY . /app

작업 디렉토리 설정

WORKDIR /app

종속성 설치

RUN apt-get update && apt-get install -y python3-pip
RUN pip3 install -r requirements.txt

포트 열기

EXPOSE 8000

컨테이너 기본 실행 명령어 설정

CMD [“python3”, “app.py”]
“`

위 예시에서는 최신 버전의 Ubuntu 이미지(ubuntu:latest)를 베이스 이미지로 사용하고, 현재 디렉토리의 모든 파일을 /app 디렉토리로 복사합니다. 그 후 /app 디렉토리를 작업 디렉토리로 설정하고 필요한 종속성을 설치합니다. 마지막으로 8000번 포트를 열고, 컨테이너 실행 시 python3 app.py 명령어를 실행합니다.

Dockerfile로 이미지 빌드하기

Dockerfile 작성이 완료되었다면, 이를 사용하여 도커 이미지를 빌드할 수 있습니다. 다음 커맨드를 사용하여 빌드할 수 있습니다.

bash
docker build -t 이미지_이름:태그_이름 .

위 커맨드에서 이미지_이름은 생성될 이미지의 이름이고, 태그_이름은 이미지의 버전이 됩니다. .은 현재 디렉토리에 위치한 Dockerfile을 사용한다는 의미입니다.

예를 들어, 위의 예시 Dockerfile로 이미지를 빌드하는 경우 다음 커맨드를 사용할 수 있습니다.

bash
docker build -t my_app:1.0 .

Docker 이미지 실행하기

이미지가 성공적으로 빌드되었다면, 해당 이미지로 도커 컨테이너를 실행할 수 있습니다. 다음 커맨드를 사용하여 실행할 수 있습니다.

bash
docker run -p 호스트_포트:컨테이너_포트 이미지_이름:태그_이름

위 커맨드에서 -p 옵션은 호스트와 컨테이너 간의 포트 매핑을 지정하는 역할을 합니다. 따라서 호스트_포트와 컨테이너_포트 사이에서 포트 매핑을 설정할 수 있습니다.

예를 들어, 위의 예시 Dockerfile로 빌드한 이미지를 컨테이너로 실행하는 경우 다음 커맨드를 사용할 수 있습니다.

bash
docker run -p 8080:8000 my_app:1.0

위 커맨드에서는 호스트의 8080 포트를 컨테이너의 8000 포트로 매핑하여 실행합니다.

이제 Dockerfile을 사용하여 도커 이미지를 빌드하고 실행하는 방법에 대해 알게 되셨습니다. 이를 통해 애플리케이션을 컨테이너화하고 배포하는 것이 가능합니다.