본문 바로가기

여러가지/Docker & AWS

[정리] 빌드 인수

빌드 인수를 사용하면 하나의 Dockerfile을 사용하여 다양한 값을 주입하여 이미지를 생성할 수 있다. 

 

Step1. Dockerfile 생성

(파일) Dockerfile

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

FROM node:14
WORKDIR /app
COPY package.json /app
RUN npm install
ARG DEFAULT_PORT=80
ENV PORT $DEFAULT_PORT
COPY . /app
EXPOSE $PORT
CMD ["npm", "start"]

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Step2. Dockerfile 빌드하여 이미지 생성

1) 기본 포트를 사용하는 이미지 빌드

# docker build -t feedback-node:web-app .

2) 포트 8000을 사용하는 이미지 빌드

# docker build -t feedback-node:dev --build-arg DEFAULT_PORT=8000 .

(사용 시기) 이미지 빌드 시

 

즉, 동일한 Dockerfile을 사용하더라도 서로 다른 포트를 사용하는 두 개의 이미지를 만들 수 있다.