해당 글은 쿠버네티스 교과서 책과 공식 홈페이지(https://kubernetes.io/ko/)를 참조하여 작성되었습니다
Docker를 사용하기 위해서는 물론 CLI를 활용하는 방법도 있겠지만, 설정 하나하나를 일일히 CLI를 통해 관리할 수는 없다
이를 간편하게 해주는 것이 바로 DockerFile 인데, 이는 말 그대로 Docker에 관한 설정파일을 말한다
컨테이너 구동 시 원하는 설정들을 쭉 적어놓고 실행을 시켜주면, 그 설정대로 컨테이너가 짜잔 하고 생기는 매우 편리한 파일이다
다만 사용하는 명령어가 따로 존재하는데, 이에 대해 간단히 알아보자
FROM
지금 생성할 이미지가 어떤 것을 근간으로 하는지를 적어준다
즉 Base Image를 정한다고 보면 된다
ENTRYPOINT
컨테이너가 최초로 실행될 때 한번 실행되는 커맨드를 설정한다
다만 커맨드의 파라미터가 외부에 의해 덮어쓰기 되지 않는다
디폴트로 지정되어 변하지 않는 값이라고 보면 된다
CMD
컨테이너가 최초로 실행될 때 한번 실행되는 커맨드를 설정한다
ENTRYPOINT와 비슷해보이나, 다른점은 파라미터가 외부에 의해 덮어쓰기가 된다
Optional Value의 디폴트 값과 동일한 맥락이라고 보면 된다
RUN
앞의 2가지 명령어와 달리, 컨테이너 실행이 아닌 이미지가 빌드될 때 한번 실행되는 커맨드를 설정한다
ADD
파일을 추가
COPY
파일을 복사 & 붙여넣기
ENV
DB의 아이디와 패스워드 값이라던가 등 애플리케이션 구동에 필요한 환경변수를 지정한다
VOLUME
앞서 설명한 Volume을 마운트하는 부분이다
VOLUME ["/myvol"] 식으로 사용하며, 컨테이너 내부의 myvol 디렉토리를 호스트의 볼륨 디렉토리와 연동한다
WORKDIR
작업 디렉토리 지정
이후 작성될 명령어들의 base 디렉토리가 어디인지를 지정한다(없으면 생성)
EXPOSE
컨테이너의 listening 포트를 지정한다
(예> 8080:8080, 5432:5432 등)