Docker LinuxWindowsmacOS

Docker build: COPY failed — file not found in build context

  • Обновлено
  • Чтение ≈ 2 минуты

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

Файл вне контекста сборки или исключён .dockerignore. Проверьте путь относительно контекста.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
COPY failed

Файл вне контекста сборки или исключён .dockerignore. Проверьте путь относительно контекста.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Вне контекстаИсходник COPY лежит выше корня контекста.Задайте правильную корневую папку контекста.
.dockerignoreШаблон .dockerignore исключает файл.Скорректируйте только подходящее правило.
ОпечаткаРегистр имени в COPY не совпадает.Исправьте имя по файлам контекста.
Неверный контекстdocker build выполнен из неверной папки.Запустите с правильной точкой контекста и -f.

#Пошаговое решение

  1. Проверьте, какой контекст передан DockerВ каталоге проекта откройте Dockerfile и найдите точную строку COPY. У команды docker build -t myapp . последняя точка означает текущую папку как контекст. Путь источника в COPY отсчитывается от корня контекста, а не от местонахождения Dockerfile.
  2. Сверьте путь и .dockerignoreОткройте каталог контекста через Проводник/терминал и найдите исходный файл, указанной в COPY с учётом регистра букв. Затем откройте .dockerignore и проверьте, не исключён ли файл целиком либо через шаблон. Например, COPY package.json /app/ работает, лишь когда package.json включён в контекст.
  3. Исправьте источник безопасноЕсли Dockerfile хранится в docker/, а проект — в корне, запускайте сборку из корня с явным указанием файла: docker build -f docker/Dockerfile -t myapp .; убедитесь, что содержимое контекста не включает пароли и .env. Не пытайтесь скопировать файл за пределами контекста через ../ — Docker запрещает такой доступ.
  4. Повторите сборку и проверьте журналВыполните исправленную команду и прочитайте результат шага COPY. Если возникла новая ошибка, это может означать, что файл теперь найден и сборка дошла до следующего этапа. Для точной диагностики сохраните Dockerfile, .dockerignore, рабочий каталог и строку build; не используйте глобальную очистку Docker.

#Если проблема осталась

Если «Docker build: COPY failed — file not found in build context» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.