-f : 실행 도커 파일 지정 (사용 안하는 경우 docker 파일명은 Dockerfile 이어야 한다)
# 기본 명령어
docker build ./
# 도커 이미지 naming
docker build -t [dockerhub_id]/[repository]/[project]:[version] ./
# Dockerfile.dev 파일의 도커 이미지 생성
docker build -f Dockerfile.dev ./
DockerFile 명령어
명령
의미
추가 설명
FROM
기본 이미지가되는 이미지 지정
RUN
이미지를 빌드하기위한 명령을 지정
RUN apk add -update py-pip의 경우, 실제로는 apk add -update py-pip 부분이 실행된다.
COPY
호스트에서 컨테이너에 파일을 복사한다.
EXPOSE
외부에 공개하는 컨테이너 포트를 지정한다.
기본적으로 컨테이너 포트가 닫혀있다.
CMD
이미지에서 컨테이너를 시작할 때 실행할 명령을 지정한다.
Dockerfile에서 CMD는 1개만 지정할 수 있다.
WORKDIR
이미지 안에서 어플리케이션 소스를 갖고 있을 디렉토리를 생성한다.
베이스 이미지의 파일과 중복될 경우의 충돌을 방지하기 위해서 파일 스냅샷을 따로 저장할 공간을 만든다.
간단한 dockerfile 예시
FROM node:alpine as builder
WORKDIR /var/www/frontend
COPY package.json ./
RUN npm install
COPY ./ ./
RUN npm run build
FROM nginx
EXPOSE 3000
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /var/www/frontend/build /usr/share/nginx/html