docker

[docker] Dockerfile 사용법

nan2 2023. 3. 30. 19:27
반응형

 

Dockerfile이란?

이미지를 만들기 위한 파일로 토대가 될 이미지나 실행할 명령어 등을 기재한다.

호스트 컴퓨터의 폴더에 Dockerfile, 그외 컨테이너에 넣으 파일을 함께 넣고 build 한다.

 

 

 

Dockerfile로 이미지 만드는 명령어

docker build -t {{생성할 이미지 이름}} {{Dockerfile이 위치한 폴더의 경로}}

 

 

 

Dockerfile 스크립트 예

FROM {{이미지 이름}}
COPY {{원본파일 경로}} {copy할 경로}}
RUN {{리눅스 명령어}}
...

이때 Dockerfile의 파일명은 정확히 'Dockerfile' 여야하고 파일형식은 없음!

 

 

Dockerfile 인스트럭션

FROM 토대가 되는 이미지 지정
ADD 이미지에 파일이나 폴더를 추가 + 압축파일인 경우 압축을 해제하여 추가
COPY 이미지에 파일이나 폴더를 추가
RUN 이미지를 빌드할 때 실행할 명령어 지정
CMD 컨테이너를 실행할 때 실행할 명령어 지정
ENTRYPOINT 컨테이너를 실행할 때 실행할 명령어 강제로 지정
ONBUILD 이 이미지를 기반으로 다른 이미지를 빌드할 때 실행할 명령어 지정
EXPOSE 이미지가 통신에 사용할 포트를 명시적으로 지정
VOLUME 퍼시스턴시 데이터를 저장할 경로를 명시적으로 지정
ENV 환경변수를 정의
WORKDIR RUN, CMD, ENTRYPOINT에 정의된 명령어를 실행할 작업 디렉터리를 지정
SHELL 빌드 시 사용할 셸 변경
LABEL 이름이나 버전, 저작자 정보를 설정
USER RUN, CMD, ENTRYPOINT에 정의된 명령어를 실행할 사용자 또는 그룹을 지정
ARG docker build 커맨드 사용 시 입력받을 수 있는 인자를 선언
STOPSIGNAL docker stop 커맨드 사용 시 컨테이너 안에서 실행중인 프로그램에 전달되는 시그널을 변경
HEALTHCHECK 컨테이너 헬스체크 방법을 커스터마이징
반응형