FROM
FROM [image](:[tag]
)
베이스이미지 지정
tag
가 없을 경우, 자동으로 latest
태그의 이미지를 지정한다.
- 베이스이미지가 OS가 아닐경우, 해당 이미지가 돌아갈 수 있는 최소한의 패키지가 포함되어있어 운영체제가 베이스가 되지 않아도 돌아갈 수 있다.
MAINTAINER
MAINTAINER [name]
dockerfile을 관리하는 사람의 이름 또는 이메일 정보 지정한다.
*빌드에 영향 없음
COPY
COPY [src] ... [dst]
파일이나 디렉토리를 복사하고 없으면 자동 생성한다.
ADD
ADD [src] ... [dst]
COPY와 같은 역할
src에 URL 입력이 가능하며 압축 파일일 경우 자동 압축 해제 후 복사된다.
RUN
RUN [command]
- shell 형식 - 설치해야하는 명령
shell 명령을 직접 인자로 붙여 실행한다.
RUN apt-get update && apt-get install -y git
- exec 형식 - 설치 후 실행하는 명령
/bin/sh -c 뒤에 명령을 붙여 리스트 형태로 전달해 명령어 실행한다.
RUN ["/bin/sh", "-c", "apt-get update && apt-get install -y git"]
CMD
CMD [command]
빌드시는 실행되지 않고 컨테이너가 실행된 후에 실행되는 명령어를 정의한다.
하나만 실행되므로 여러개 하고 싶으면 run.sh 작성해 인자로 주거나 프로그램을 사용해야한다.
ENTRYPOINT
ENTRYPOINT [command]
CMD와 같은 역할을 하지만 docker run
명령 실행시 바로 실행된다.
WORKIDR
WORKDIR /path
dockerfile 명령들이 실행될 기본 디렉토리를 설정한다.
지정해주지 않으면 명령마다 기본 디렉토리가 초기화되기 때문에 필요하다.
EXPOSE
EXPOSE [port, ...]
열린 포트를 지정한다. 여러개의 포트를 지정할 수 있다.
VOLUME
VOLUME ["/data"]
컨테이너 외부에 파일 시스템을 마운트한다.
ENV
ENV [key] [value]
환경 변수를 key=value형태로 지정한다.
Uploaded by Notion2Tistory v1.1.0