Appendix
Dockerfile Instruction
Instruction설명
FROM | 도커 이미지의 바탕이 될 베이스 이미지를 지정한다. 이 이미지는 Docker hub라는 레지스트리에 공개된 것이어야 한다. |
RUN | 이미지를 실행할 때 컨테이너 안에서 실행할 명령어를 정의한다. |
COPY | 호스트의 파일 또는 디렉토리를 도커 컨테이너 안으로 복사한다. |
CMD | 도커를 실행할 때 컨테이너 안에서 실행할 명령을 정의한다. RUN과 다르게 RUN은 이미지를 빌드할 때 실행되고, CMD는 컨테이너를 실행하면 한 번만 실행된다. |
ADD | COPY + 압축 파일 해제, URL로부터 컨테이너 파일 및 디렉토리 추가 |
ARG | docker image build 실행할 때 사용하는 변수 |
ENTRYPOINT | 컨테이너를 실행 가능 파일로 사용할 때 정의하는 명령 |
ENV | 컨테이너 안에서 사용하는 환경 변수 |
EXPOSE | 컨테이너가 노출하는 포르 설정 |
HEALTHCHECK | 명령을 실행한 다음 결과를 헬스 체크에 사용한다 |
LABEL | 이미지에 추가되는 메타 데이터 |
ONBUILD | 컨테이너 안에서 실행되는 명령을 정의함. 이미지에서는 실행되지 않음 |
STOPSIGNAL | 컨테이너에 전달되면 컨테이너를 종료 |
USER | 컨테이너 사용자. USER Instruction 이후에 나오는 RUN Instruction도 해당 사용자 권한으로 실행된다. |
VOLUME | 호스트나 다른 컨테이너에서 볼륨을 마운트 |
WORKDIR | 컨테이너의 작업 디렉토리 |
FROM node:13.12.0-alpine3.11 as build
FROM node:12-alpine
Alpine 이란? 알파인 리눅스는 보안, 단순성 및 자원 효율성을 높이는 고급 사용자를 위해 설계된 범용 리눅스 배포판으로 musl libc와 busybox를 기반으로 하기에 GNU/Linux 배포판 보다 작고 가벼우며 yum이나 apt 같은 패키지 관리자가 아닌 apk라는 자체 패키지 관리자를 가지며 보안에 염두해두고 설계되었기에 모든 바이너리는 독립적인 실행 파일(PIE)로 컴파일 됩니다.
'Learning > Docker' 카테고리의 다른 글
Docker - container ps[조회] stop[정지] start[시작] restart[재시작] attach[접속] (0) | 2021.01.16 |
---|---|
docker image, containerd 삭제 (0) | 2021.01.16 |
Ubuntu server에 Docker 설치 (0) | 2021.01.15 |
nestJS docker image 만들기 (0) | 2021.01.15 |