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