Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

Image Layer

ইমেজ লেয়ার

Dockerfile-এর প্রতিটা filesystem-পরিবর্তনকারী instruction থেকে জন্ম নেওয়া একটা content-addressed tarball diff — image আসলে এমন layer-দের ordered স্ট্যাক।

also: docker-layer

FROM ubuntu          → layer 1 (base rootfs)
RUN apt-get install  → layer 2 (diff: নতুন/বদলানো file)
COPY . .              → layer 3 (diff: app code)
  • প্রতিটা layer তার content-এর hash দিয়ে চেনা যায় (content-addressed) — দুইটা ভিন্ন image-এ হুবহু একই layer থাকলে সেটা একবারই download/store হয়
  • docker run-এ সব image layer একসাথে lowerdir হিসেবে stack হয়, আর container-এর নিজস্ব নতুন, খালি upperdir যোগ হয়
  • Dockerfile-এ কম-পরিবর্তনশীল instruction আগে, বেশি-পরিবর্তনশীল (যেমন COPY . .) পরে রাখার পরামর্শ ঠিক এই layer-cache-reuse যুক্তি থেকেই আসে