- 로컬에 저장된 Docker image에서 컨테이너를 실행할 수 있다
- 시스템에 없는 이미지를 사용하는 경우, 온라인 레지스트리에서 이미지를 가져온다
- image를 pull 받으면
layer
들은 독립적으로 저장된다 - 컨테이너를 실행할 때는 이 layer들을 차례대로
쌓아올려서
특정 위치에마운트
한다 - 기본적으로 image에 속하는 layer 들은
읽기 전용
이기 때문에 절대로 변하지 않는다 - 그 위에 마지막으로
컨테이너 전용 쓰기 가능한 layer
를 한 층 더 쌓고, 컨테이너에서 일어나는 모든변경 사항
을 이 layer에 저장한다
- 컨테이너를 실행할 때 아주 깨끗한 layer를 하나 이미지의 최상위 layer 위에 올려준다
- 컨테이너를 아무리 많이 실행하더라도, 실제
쓰기
가 이루어지는 layer가분리
되어 있기 때문에 컨테이너들은 서로 영향을 주지 않는다- 즉, 모든 컨테이너는
고유한 쓰기 영역
을 가지며, 이는 최상위 layer가 되고, 하위 layer에는 어떠한 영향도 주지 않는다
- 즉, 모든 컨테이너는