본문 바로가기
Linux/Docker

도커(docker) dockerfile 인스트럭션

by 시바도지 2023. 8. 24.
반응형

Dockerfile은 이름만 보면 여러 가지 목적으로 사용할 수 있을 것 같지만 사실은 이미지를 만드는 것밖에 할 수 없다.

쉽게 말해 ‘도커 이미지 파일’ 정도의 존재다.

 

Dockerfile 스크립트에는 토대가 될 이미지나 실행할 명령어 등을 기재한다.

 

Dockerfile에는 호스트 컴퓨터의 이미지 재료가 들어있는 폴더(위치는 어디라도 상관없다)에 넣는다.

재료 폴더에는 그 외 컨테이너에 넣을 파일을 함께 둔다.

실제 컨테이너를 만들 필요는 없다.

 

 

 

Dockerfile 스크립트로 이미지 만들기


이미지 생성 명령어

docker build -t [생성할 이미지 이름] [재료 폴더 경로]

 

 

Dockerfile 스크립트의 예시

FROM [이미지 이름]
COPY [원본 경로] [대상 경로]
RUN [리눅스 명령어]
...

 

 

 

 

자주 사용하는 Dockerfile 인스트럭션


 

 

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

댓글