Dockerfile 이란?

ex) node js로 frontend를 제작하려 할 때

1. FROM: 기본 이미지를 설정(이미지:태그)

FROM node:12.18.4

RUN npm install -g http-server

2. RUN : 이미지를 생성하는 과정에서 실행할 명령어

→ 버전 12.18.4 node 이미지를 만들 때 http-server가 같이 설치되어 있는 이미지를 만듦.

FROM node:12.18.4

RUN npm install -g http-server

WORKDIR /home/node/app

CMD ["http-server", "-p", "8080", "./public"]

3. WORKDIR : 이 안에서 명령어를 실행할 위치를 설정

→ CMD에서 문자열의 배열로 되어있는 명령어를 WORKDIR 위치에서 실행.

4. CMD: 컨테이너가 가동될 때 바로 실행되는 명령어

※ RUN VS CMD

→ RUN: 이미지를 생성하는 과정에서 실행되는 명령어

→ CMD: 만든 이미지로부터 컨테니너가 만들어져 가동될 때 기본적으로 바로 실행되는 명령어