Dockerfile 생성기

생성된 Dockerfile

FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["node", "index.js"]

관련 도구

Dockerfile이란?

Dockerfile은 Docker 이미지를 빌드하기 위한 명령어 스크립트입니다. 베이스 이미지 선택, 패키지 설치, 파일 복사, 환경변수 설정 등의 단계를 정의하면 재현 가능한 컨테이너 이미지가 만들어집니다.

주요 명령어

명령어 설명 예시
FROM 베이스 이미지 FROM node:20-alpine
WORKDIR 작업 디렉토리 WORKDIR /app
COPY 파일 복사 COPY package.json .
RUN 명령어 실행 RUN npm install
CMD 컨테이너 시작 명령 CMD ["node", "server.js"]
EXPOSE 포트 노출 EXPOSE 3000
ENV 환경변수 설정 ENV NODE_ENV=production
ARG 빌드 시 인자 ARG VERSION=1.0
ENTRYPOINT 고정 실행 명령 ENTRYPOINT ["python"]

자주 사용하는 Dockerfile 예시

Node.js 앱

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Python Flask 앱

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["flask", "run", "--host=0.0.0.0"]