Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Dockerfile 은 도커 이미지 생성용 배치파일이다.

Dockerfile 은 특정한 이미지를 출발점으로 새로운 이미지 구성에 필요한 필수적인 요소 및 명령어들을 저장해 놓은 파일이다.

Dockerfile 통해 배치화 해두면, Dockerfile 이라는 작은 파일 하나로

애플리케이션 배포 환경을 구축 할 수 있다는 장점이 있다.


Dockerfile 은 단순히 애플리케이션 설치를 스크립트로 만들어 배치화 하는게 아니라,

배포 환경 구축까지 한꺼번에 해주는 역할을 한다.

dockerfile이라는 이미지 빌드용 DSL domain specific language 파일을 사용한다.

단순 텍스트 파일로 일반적으로 소스와 함께 관리된다.


결론적으로 도커 빌드는 

  1. 임시 컨테이너 생성 > 
  2. 명령어 수행 > 
  3. 이미지로 저장 > 
  4. 임시 컨테이너 삭제 > 
  5. 새로 만든 이미지 기반 임시 컨테이너 생성 > 
  6. 명령어 수행 > 
  7. 이미지로 저장 > 
  8. 임시 컨테이너 삭제 > 
  9. … 

의 과정을 계속해서 반복한다고 볼 수 있다

명령어를 실행할 때마다 이미지 레이어를 저장하고 다시 빌드할 때 Dockerfile이 변경되지 않았다면 기존에 저장된 이미지를 그대로 캐시처럼 사용한다.

이러한 레이어 개념을 잘 이해하고 있어야 최적화된 이미지를 생성할 수 있다.


도커는 빌드할 때 Dockerfile의 명령어가 수정되었거나 추가하는 파일이 변경 되었을 때

캐시가 깨지고 그 이후 작업은 새로 이미지를 만들게 된다.