Skip to main content

Що таке шар (layer) в Dockerfile?

Шар (layer) в Dockerfile - це результат виконання однієї інструкції в Dockerfile. Кожна команда (FROM, RUN, COPY, ADD тощо) створює новий шар в образі.

Як це розуміти на рівні junior

  • Образ збирається по шарах, як пиріг -> кожен крок додає шар.
  • Шари кешуються -> якщо шар не змінився, Docker не перезбирає його, а бере з кешу. Це пришвидшує збірку.
  • Шари immutable (незмінні) -> якщо потрібно щось змінити, Docker просто створює новий шар зверху, не змінюючи нижні.

Приклад

Dockerfile
FROM ubuntu:22.04 # шар 1 RUN apt-get update # шар 2 COPY . /app # шар 3 RUN make build # шар 4

В результаті образ складається з 4 шарів.

Підсумок в одній фразі

Шар - це незмінний результат однієї інструкції Dockerfile, який Docker кешує і повторно використовує при збірці.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.