Skip to main content

Що означає "build context"?

Build context - це папка (директорія), вміст якої Docker передає в процес збірки образу. Простіше кажучи, все, що знаходиться всередині цієї папки, Docker може використати всередині Dockerfile (наприклад, при команді COPY або ADD).

Як це виглядає

Якщо ти виконуєш команду:

bash
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 так само коротко й на прикладі.

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

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

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