gnusraun

Docker Dockerfile 만들기 본문

DevOps/Docker

Docker Dockerfile 만들기

gnusraun 2024. 1. 19. 14:34
728x90

Docker Dockerfile 만들기

$ nano Dockerfile

 

FROM

: 이미지를 만들기 위한 기본 이미지를 지정합니다. 모든 Dockerfile은 FROM 명령어로 시작해야 합니다.

FROM ubuntu:22.04

 

MAINTAINER

: 이미지를 만든 사람의 정보를 제공합니다.

MAINTAINER gnusraun@example.com

 

COPY

: 파일이나 디렉토리를 호스트에서 컨테이너의 파일 시스템으로 복사합니다.

** 현재경로기준 Dockerfile build시

** app에 들어있는 모든 파일들을 컨테이너의 /usr/src/app으로 복사한다.

COPY ./app /usr/src/app

 

RUN

: 컨테이너 내부에서 실행할 명령어를 지정합니다. 이 명령어는 이미지 빌드 중에 실행됩니다.

RUN apt-get update && apt-get install -y python

 

WORKDIR

: RUN, CMD, ENTRYPOINT, COPY, ADD 명령어가 실행될 작업 디렉토리를 설정합니다.

WORKDIR /usr/src/app

 

EXPOSE

: 컨테이너가 수신할 포트를 지정합니다. 실제 포트 매핑은 컨테이너 실행 시 결정됩니다.

EXPOSE 80

 

ENV

: 컨테이너 환경 변수를 설정합니다. 이 변수들은 RUN, CMD, ENTRYPOINT에서 사용할 수 있습니다.

ENV NODE_ENV production

 

CMD

: 컨테이너가 시작될 때 실행될 기본 명령어를 설정합니다. Dockerfile에는 하나의 CMD만 있어야 합니다.

CMD ["python", "./app/app.py"]

 

Dockerfile 응용하기

python으로 flask 라이브러리를 이용하여 웹 사이트를 Dockerfile에 작성하여 실행

FROM python:3.8-slim

COPY . /app

RUN pip3 install flask

WORKDIR /app

CMD ["python3", "app.py"]

 

Dockerfile 실행하기

// Dockerfile 빌드
docker build -t python_test .

// 빌드 후 이미지가 생성되며 이후 실행
docker run -d -p 0.0.0.0:5000:5000/tcp --name python_test python_test

 

Docker Container 에러시 확인 방법

// docker 로그 확인
docker logs python_test

 

728x90

'DevOps > Docker' 카테고리의 다른 글

docker-compose 설치 및 사용  (0) 2024.01.19
Docker 명령어 모음  (0) 2024.01.19
Docker 설치하기 - Ubuntu  (0) 2024.01.19
Docker Java war 컨테이너 만들기  (0) 2023.06.11
Docker python 컨테이너 만들기  (0) 2023.06.11