Dockerfile

김회민·2022년 5월 17일
0

Docker

목록 보기
3/3

개념

Docker Image 명세서

docker build <Path of Dir with Dockerfile> 명령어를 통해 이미지를 제작할때,
Dockerfile에 적혀있는 명령어 대로 제작이 된다.

명령어

FROM

  • 베이스 이미지를 지정한다.
  • 필수 항목이며, 첫 번째 줄에 기술한다.
  • 어떤 이미지도 베이스 이미지가 될 수 있다.
  • tag는 될 수 있으면 기본값보다 구체적인 버전을 지정하는 것이 좋다.
  • 이미 만들어진 베이스 이미지는 Docker Hub에서 확인할 수 있다.

MAINTAINER

  • Dockerfile을 관리하는 사람의 이름 또는 이메일 정보를 적습니다.

COPY

  • 파일이나 디렉토리를 이미지로 복사합니다.
  • target 디렉토리가 없다면 자동으로 생성합니다.

ADD

  • COPY 명령어와 유사하나 몇가지 추가 기능이 있다.
  • src에 파일 대신 URL을 입력할 수 있다.
  • src에 압축 파일을 입력하는 경우, 자동으로 압축을 해제하고 복사한다.

RUN

  • Build 중에 명령어를 그대로 실행한다.
  • 내부적으로 /bin/sh -c 뒤에 명령어를 실행하는 방식이다

CMD

  • 빌드가 끝나고 컨테이너가 시작될때 실행되는 명령어.
  • 빌드할 때는 실행되지 않으며, 여러 개의 CMD가 존재할 경우, 가장 마지막 CMD만 실행.

WORKDIR

  • RUN, CMD, ADD, COPY등이 이루어질 기본 디렉토리를 설정
  • 각 명령어의 현재 디렉토리는 한 줄마다 초기화되기 때문에 같은 디렉토리에서 작업하기 위해서 사용.

EXPOSE

  • 컨테이너가 실행될때 컨테이너의 포트를 지정.
  • 여러개의 포트를 지정할 수 있다.

VOLUME

  • 컨테이너 외부( host )와 내부의 파일시스템을 마운트할때 사용.
  • docker-compose나, docker run -v옵션을 통해 지정이 가능하지만,
    Dockerfile에 지정하는 것이 좋다.

ENV

  • 컨테이너에서 사용할 환경변수를 지정.
  • docker run -e 옵션을 사용하면 이 값은 덮어 씌워진다.
profile
백엔드 개발자 지망생

0개의 댓글