728x90
도커 파일이란?
도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳이다.
도커 파일을 만드는 순서(도커 이미지가 필요한 것이 무엇인지를 생각하기)
- 베이스 이미지를 명시해준다. (파일 스냅샷에 해당)
- 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시해준다. (파일 스냅샷에 해당)
- 컨테이너 시작 시 실행 될 명령어를 명시해준다. (시작 시 실행 될 명령어에 해당)

베이스 이미지는 OS 라고 생각하면 된다.
이미지 안에 어떠한 추가적인 요소를 넣으면 레이어 하나가 추가가 되고, 레이어들 중에서 가장 근본이 되고 기본이 되는 것이 베이스 이미지이다.
실제로 도커 파일을 생성해보자.
- vsc 를 연다.
- 파일 하나를 생성, 이름은 dockerfile
- 그 안에 어떻게 진행해 나갈지 기본적인 토대를 명시

FROM
이미지 생성 시 기반이 되는 이미지 레이어이다.
<이미지 이름>:<태그> 형식으로 작성하고, 태그를 안 붙이면 자동적으로 가장 최신것으로 다운 받는다.
ex) ubuntu:14.04
RUN
도커 이미지가 생성되기 전에 수행할 쉘 명령어
CMD
컨테이너가 시작되었을 때 실행할 실행 파일 또는 쉘 스크립트, 해당 명령어는 Dockerfile 내 1회만 사용가능
- 이제 베이스 이미지로부터 실제 값으로 추가
- 베이스 이미지는 ubuntu 를 써도 되고 centos 등을 사용해도 되지만, hello 를 출력하는 기능은 굳이 사이즈가 큰 베이스 이미지를 쓸 필요가 없기 때문에 사이즈가 작은 alpine 베이스 이미지를 사용한다.
- hello 문자를 출력해주기 위해 echo 를 사용하여야 하는데, 이미 alpine 안에 echo 를 사용할 수 있게 하는 파일이 있기 때문에 RUN 부분은 생략한다.
- 마지막으로 컨테이너 시작 시 실행될 명령어 echo hello 를 적어 준다.

728x90