n1ro°
RU

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

Docker bind mount: source path not found — как проверить путь хоста

Одинаковая опечатка в host path ведёт себя по-разному: явный `--mount` обычно падает, а short syntax может создать пусто

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

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

Сначала определите синтаксис bind mount. `docker run --mount` требует существующий source и выдаёт ошибку, а `-v` и short syntax Compose могут создать отсутствующий каталог. Для строгой Compose-проверки используйте long syntax с `create_host_path: false`.

Что делать

  1. Определите синтаксис mount: Проверьте, используется ли `--mount`, `-v` или short/long syntax Compose: поведение при отсутствующем source различается.
  2. Проверьте путь на хосте: Проверьте resolved host path через `docker compose config` и убедитесь, что он указывает на ожидаемый файл/каталог.
  3. Запретите скрытое создание каталога: В Compose long syntax задайте `bind.create_host_path: false`, если отсутствие source должно считаться ошибкой.
  4. Проверьте доступ Docker Desktop: На Docker Desktop убедитесь, что путь разрешён/доступен daemon и соответствует host OS.
  5. Перезапустите сервис: После исправления пути пересоздайте контейнер и проверьте mount через `docker inspect`.

Важно

Short syntax может молча создать каталог вместо ожидаемого файла. Для конфигураций, где это опасно, используйте long syntax и `create_host_path: false`.

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

Short syntax может молча создать каталог вместо ожидаемого файла. Для конфигураций, где это опасно, используйте long syntax и `create_host_path: false`.

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

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