반응형
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 | 컨테이너 헬스체크 방법을 커스터마이징 |
반응형
'Linux > Docker' 카테고리의 다른 글
도커(docker) 기본 명령어, 사용 예시 (0) | 2023.10.24 |
---|---|
도커(docker) 파일 작성 방법 예시 feat.FastAPI (0) | 2023.08.10 |
도커(docker) 설치 방법 - 우분투(ubuntu) (0) | 2023.08.10 |
도커(docker)란 무엇인가? - 도커 개념 및 기초 (0) | 2023.08.10 |
댓글