Що таке шар (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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.