n1ro°
RU

Ошибки и коды · Инструкция

Dockerfile COPY: file not found in build context

Даже если Dockerfile лежит в `docker/`, команда `docker build -f docker/Dockerfile .` делает context точкой, поэтому пут

Редакция N1RO · Проверено

Короткий ответ

`COPY` ищет source относительно build context, а не относительно местоположения Dockerfile. Проверьте команду `docker build <context>`, `.dockerignore` и путь source; файл вне context нельзя надёжно скопировать обычным COPY.

Что делать

  1. Определите context: Посмотрите последний аргумент `docker build` или `build.context` в Compose.
  2. Сверьте путь COPY: Source должен существовать внутри этого context.
  3. Проверьте `.dockerignore`: Убедитесь, что файл не исключён паттерном.
  4. Не используйте `./` как архитектуру: Перенесите context выше или перестройте структуру проекта, чтобы нужный source входил в context.
  5. Перезапустите build: Используйте подробный вывод и убедитесь, что ошибка source исчезла.

Важно

Не расширяйте context до корня диска ради одного файла — это ухудшает безопасность и время сборки.

Что учитывать

Не расширяйте context до корня диска ради одного файла — это ухудшает безопасность и время сборки.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. docker image build). Пример и формулировки — редакция N1RO на 2026-09-17.