나열된 명령문을 차례대로 수행하여 이미지를 생성
base 이미지를 지정해주기 위해서 사용
FROM node:12
컨테이너 상에서 작업 디텍토리로 전환
그 이후에 등장하는 모든RUN
,CMD
,ENTRYPOINT
,COPY
,ADD
명령문은 해당 디렉터리를 기준으로 실행
WORKDIR /usr/app
이미지 빌드 과정에서 필요한 커맨드를 실행하기 위해서 사용
보통 이미지 안에 특정 소트트웨어를 설치하기 위해서 많이 사용
RUN npm install --silent
해당 이미지를 컨테이너로 띄울 때 디폴트로 실행할 커맨드나,
ENTRYPOINT
명령문으로 지정된 커맨드에 디폴트로 넘길 파라미터를 지정할 때 사용
Docker에게 컨테이너가 런타임 환경에서 지정한 포트로 수신한다고 알려줄 때 사용
실제로 지정한 포트에 publish 하지는 않는다.
=> 실제로 publish 하려면 컨테이너를 실행할 때docker run -p [host 포트]:[container 포트]
EXPOSE 80
호스트 컴퓨터에 있는 디렉터리나 파일을 Docker 이미지의 파일 시스템으로 복사하기 위해서 사용
WORKDIR app/
COPY . .