더북(TheBook)

이 명령을 입력해 나온 출력 결과를 보면 이미지 캐시의 실제 용량은 약 202.2MB를 차지하는 것으로 나온다. 163MB는 이미지끼리 레이어를 공유한 것으로, 약 45%의 디스크 공간이 절약됐다. 이렇게 절약되는 디스크 공간은 대개 런타임 등 같은 기반 레이어를 공유하는 애플리케이션의 숫자가 많을수록 더욱 늘어난다. 이들 기반 레이어가 자바, 닷넷, PHP 그 무엇이든 도커의 동작 방식은 같다.

이제 설명이 필요한 마지막 주제다. 이미지 레이어를 여러 이미지가 공유한다면, 공유되는 레이어는 수정할 수 없어야 한다. 만약 이미지의 레이어를 수정할 수 있다면 그 수정이 레이어를 공유하는 다른 이미지에도 영향을 미치게 된다. 도커는 이미지 레이어를 읽기 전용으로 만들어 두어 이런 문제를 방지한다. 이미지를 빌드하면서 레이어가 만들어지면 레이어는 다른 이미지에서 재사용될 수 있다. 그러나 레이어를 수정할 수는 없다. 이 점은 이제 살펴볼 Dockerfile 스크립트를 최적화해 도커 이미지의 용량을 줄이고 빌드를 빠르게 만드는 기법에서 특히 잘 활용된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.