DevOps & SRE/Docker & kubernetes

[Docker] Docker Image Layer

seungh0 2020. 8. 3. 23:30
반응형
  • Immutable Infrastruture?
  • Docker Image Layer.
  • Union mount?
  • CoW?

Immutable Infrastructure란? (불변 인프라)

  • 한번 설정하고 변경하지 않는 이미지 기반의 애플리케이션 배포 패러다임을 뜻함.
  • 호스트 OS와 서비스 운영 환경(서버 프로그램, 소스코드, 컴파일된 바이너리)들을 분리하여 한번 설정한 서버 환경은 변경하지 않는다.
  • 서비스 운영환경을 이미지로 생성한 뒤 서버에 배포하여 실행하며, 서비스가 업데이트 되면 운영환경 자체를 변경하지 않고 이미지를 새로 생성하여 배포한다.
  • 서비스 운영환경 이미지를 한번 쓰고 버리는 패러다임이다.

Docker Image

  • Immutable image.
  • Docker Image는 파일 시스템들의 layer로 구성된다.
  • 하나 하나의 파일 시스템은 Image로, Image Layer 위에 Image Layer가 있는 구조로 되어있다. (계층 구조)
  • 이미지를 이용해서 Docker 컨테이너를 생성하면, 기존의 모든 이미지 레이어(File System)이 read-only로 mount가 되고, 마지막으로 read-write 파일 시스템을 맨 위에 mount 한다.

여기서 한개의 파일 시스템이 아닌, n개의 파

일 시스템을 마운트 하는데, 이때, Union-Mount 기술사용된다.

Docker Image Layer

Union Mount

  • 복수의 파일 시스템을 하나의 파일 시스템으로 마운트 하는 기법.
  • Docker Image는 Union mount File System으로, 오버레이되는 복수의 레이어로 구현된다.
  • Cow(Copy on write)전략에 의해 쓰기 작업은 가장 최상위 레이어로 복사해서 이루어진다.
  • 이러한 이유로 하나의 이미지로부터 여러 컨테이너가 생성되어 실행돼도 문제가 없는 것. (쓰기 작업은 가장 최상위 Read-Write Layer에서 이루어지고, 하단의 Image layer는 read-only로 Immutable 함)

반응형