docker file이란 도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳이다.
docker file 만드는 순서
1. 베이스 이미지 명시하기(파일 스냅샷에 해당)
2. 추가적으로 필요한 파일들을 다운 받기 위한 몇 가지 명령어를 명시하기(파일 스냅샷에 해당)
3. 컨테이너 시작 시 실행될 명령어 명시하기(시작 시 실행될 명령어에 해당)
베이스 이미지란?
도커는 여러개의 레이어로 구성되어 있는데 그중에서 이 이미지의 기반이 되는 부분을 베이스 이미지라 부른다.
만약 이 이미지에 무엇인가 추가한다면 위 그림처럼 레이어가 추가된다.
docker file이 있는 폴더 내에 docker build .
혹은 docker build ./
를 입력하면 docker image를 만들 수 있다.
예를 들어 설명하겠다.
아래와 같이 docker file을 만들었다.
docker file로부터 docker image 만드는 과정은 아래와 같다.
1. 베이스 이미지 만들기
From alpine
로부터 베이스 이미지 생성. alpine 안에는 해당하는 파일 스냅샷들이 존재.
2. 임시 컨테이너 생성
임시 컨테이너를 만들고 alpine 이미지가 가지고 있는 파일 스냅샷들을 임시 컨테이너의 하드디스크에 추가.
3. 임시컨테이너에 추가 정보 삽입
"echo", "hello" 삽입.
4. 새로운 이미지 생성
임시컨테이너로부터 새로운 이미지 생성. 임시컨테이너는 삭제.
이전에 docker build .
혹은 docker build ./
로 이미지를 만들었었다. 이 명령어들을 사용하면 이미지에 id가 부여되는데 매번 이미지를 사용할 때마다 id를 입력하기에는 번거롭다.
아래 명령어를 사용하면 만들려는 이미지에 이름을 줄 수 있다.
docker build -t <나의 도커 id/저장소 or 프로젝트 이름> : 버전
내가 원하는 이름과 함께 이미지가 정상적으로 만들어졌다.