용어
- FROM: 빌드하는 이미지의 기반 이미지 지정
- RUN: 이미지 빌드 시 컨테이너에서 실행할 명령어 정의
- COPY: 호스트에서 컨테이너로 파일 및 디렉토리 복사
- ADD: COPY + 압축 해제 + URL 다운로드
- 운영 체제를 담은 기반 이미지를 만드는 경우처럼 특수한 경우에만 사용하면 된다.
- 안정성 보장이 되지 않으므로 COPY 를 사용하자.
- CMD: 컨테이너에서 foreground로 실행할 명령어 정의
- ENTRYPOINT: 컨테이너를 실행 가능 파일로 사용할 때 정의하는 명령
- CMD 와 ENTRYPOINT 둘 다 사용 가능
- ARG: docker image build를 실행할 때 사용하는 변수
- ENV: 컨테이너 안의 환경변수 정의
- EXPOSE: 컨테이너가 노출하는 포트
- VOLUME: 호스트나 다른 컨테이너에서 마운트할 수 있는 포인트 생성
- LABEL: 이미지에 추가하는 메타데이터
- STOPSIGNAL: 컨테이너에 전달되면 컨테이너를 종료하는 시스템 시그널 설정
- HEALTHCHECK: 컨테이너 안에서 명령을 실행 후 결과를 헬스 체크에 사용
- USER: 컨테이너 실행 시 컨테이너 사용자
- 이미지 빌드시 USER 뒤에 나오는 RUN 인스트럭션도 해당 사용자의 권한으로 실행된다.
- WORKDIR: 컨테이너의 작업 디렉토리
- ONBUILD: 컨테이너 안에서 실행되는 명령 정의, 이미지에서 실행되지 않는다.
- ONBUILD 를 정의한 이미지를 기반 이미지로 삼아 다른 이미지를 빌드할 때 실행된다.