Docker Run

docker run 명령어 실행 시

  • 로컬에 저장된 Docker image에서 컨테이너를 실행할 수 있다

    • 시스템에 없는 이미지를 사용하는 경우, 온라인 레지스트리에서 이미지를 가져온다

image pull

  • image를 pull 받으면 layer 들은 독립적으로 저장된다

  • 컨테이너를 실행할 때는 이 layer들을 차례대로 쌓아올려서 특정 위치에 마운트 한다

  • 기본적으로 image에 속하는 layer 들은 읽기 전용 이기 때문에 절대로 변하지 않는다

  • 그 위에 마지막으로 컨테이너 전용 쓰기 가능한 layer 를 한 층 더 쌓고, 컨테이너에서 일어나는 모든 변경 사항 을 이 layer에 저장한다

컨테이너 실행

  • 컨테이너를 실행할 때 아주 깨끗한 layer를 하나 이미지의 최상위 layer 위에 올려준다

  • 컨테이너를 아무리 많이 실행하더라도, 실제 쓰기 가 이루어지는 layer가 분리되어 있기 때문에 컨테이너들은 서로 영향을 주지 않는다

    • 즉, 모든 컨테이너는 고유한 쓰기 영역 을 가지며, 이는 최상위 layer가 되고, 하위 layer에는 어떠한 영향도 주지 않는다

Last updated