Docker file이란?
도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳 입니다.
생성 순서
- 베이스 이미지를 명시해준다. (파일 스냅샷에 해당)
-
추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시해준다. (파일 스냅샷에 해당)
-
컨테이너 시작시 실행 될 명령어를 명시해준다. (시작시 실행 될 명령어에 해당)
-
FROM: 이미지 생성시 기반이 되는 이미지 레이어.
- <이미지 이름>:<태그> 형식으로 구성 및 작성
- 태그를 안붙이면 자동적으로 가장 최신것을 다운 받음
- e.g. ubuntu:14.04
-
RUN: 도커이미지가 생성되기 전에 수행할 쉘 명령어
-
CMD: 컨테이너가 시작되었을 때 실행할 실행 파일 또는 쉘 스크립트
- 해당 명령어를 Dockerfile 내에서 1회만 쓸 수 있음.
작성한 Dockerfile로 이미지 생성
docker build ./ 또는 docker build
build 명령어는
- 해당 디렉토리 내에서 Dockerfile이라는 파일을 찾아서 도커 클라이언트에 전달시켜준다.
- docker build 뒤에 ./ 와 . 는 현재 디렉토리를 가리킨다.
step2에 임시 컨테이너 생성 후 다시 지우는데 이러한 행동을 하는 이유는?
- 베이스 이미지를 임시 컨테이너에 넣어줌
1-1. 베이스 이미지 이외에 레이어 및 커맨드도 넣어줌
- 임시 컨테이너의 내용을 토대로 새로운 이미지가 생성
- 임시 컨테이너 삭제