Що означає "build context"?
Build context - це папка (директорія), вміст якої Docker передає в процес збірки образу. Простіше кажучи, все, що знаходиться всередині цієї папки, Docker може використати всередині Dockerfile (наприклад, при команді COPY або ADD).
Як це виглядає
Якщо ти виконуєш команду:
docker build -t myimage .Крапка . - це і є build context, тобто поточна папка. Docker відправить її вміст демону, і вже звідти братиме файли для збірки.
Навіщо потрібен build context
- щоб Docker знав, які файли можна копіювати в образ (
COPY . /app) - щоб не давати доступ до всієї файлової системи
- щоб збірка була відтворюваною й обмеженою
Важливе правило (junior-рівня)
Якщо в build context багато зайвих файлів (логи, великі архіви, node_modules тощо), то збірка буде:
- йти повільніше
- займати більше місця
- довше відправляти дані Docker'у
Тому використовують .dockerignore, щоб виключати непотрібне з контексту.
Підсумок в одній фразі
Build context - це набір файлів і папок, переданих у
docker build, з яких Docker може забирати дані під час збірки образу.
Хочеш - можу наступним повідомленням пояснити .dockerignore так само коротко й на прикладі.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.