Dockerfile

조민철·2024년 7월 3일

Docker

목록 보기
3/4
post-thumbnail

Dockerfile??

도커 파일은 실행되는 프로세스를 도커 이미지로 생성하기 위한 일종의 스크립트 파일이다. Dockerfile을 빌드하게 되면 Dockerfile 의 명령문을 읽고 도커 이미지를 생성해주게 된다. 즉, 이미지를 만들기 위한 설계도라고 생각하면 된다.


Dockerfile 장점

  • 도커 이미지를 dockerfile에 명령들을 명시해줬기 때문에 이미지를 손쉽게 만들수 있다.
  • 배포에 용이하다.
  • Dockerfile을 직접 정의하여 명령문을 커스텀이가능하다
  • 컨테이너가 특정 기능을 수행하도록 한다.

Dockerfile 명령어 & 문법

Dockerfile은 확장자를 지정하지 않고 파일명을 Dockerfile 그대로 만들게 되면 vscode에서 자동으로 도커 파일로 인식하게 된다.

키워드설명
FROM(베이스 이미지)어느 이미지에서 시작할건지 의미
LABEL이미지에 메타데이터를 추가(type: key-value)
RUN새로운 레이어에 명령어 실행 이미지 생성, RUN 명령어를 실행 할 때마다 레이어가 생성됨
WORKDIR작업 디렉토리를 지정 해당 디렉토리가 없다면 생성한다. 그 이후의 명령어는 해당 디렉토리를 기준으로 동작
EXPOSE도커 파일의 빌드로 생성된 이미지에서 열어줄 포트를 의미
USER이미지를 실행할 계정을 선택 기본으로 root로 실행
COPY/ADDbuild 명령 중간에 호스트의 파일 또는 폴더를 이미지에 가져올수 있음, 파일의 형태는 압축파일 네트워크 상의 파일도 사용이 가능, 또한 ADD 명령어는 COPY보다 강한 명령문
ENV이미지에서 사용할 환경 변수 값을 지정
CMD/ENTRYPOINT컨테이너를 생성 및 실행 할 때 실행할 명령어 CMDENTRYPOINT 차이는 CMD는 컨테이너를 생할 때만 실행, ENTRYPOINT는 컨테이너를 실행할 때마다 실행

Dockerfile를 이미지로 빌드

도커파일을 이미지로 만드는방법은 build 명령어를 사용한다.

docker build -y [이미지 이름:이미지 버전(default latest)] [Dockerfile의 경로]
  • -t, --tag -> 이미지에 이름과 태그를 지정
  • -f, --file -> 빌드에 사용할 Dockerfile의 경로를 지정
  • build-arg -> Dockerfile내에서 사용되는 argument를 지정
  • --platform -> 이미지를 만드는데 아키텍처를 지정할 수 있음
profile
기록의 힘은 대단하다

0개의 댓글