Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
mount-denied-not-shared Linux / DevOps

Docker Error: mount denied: path is not shared from OS host — Решение

Обновлено: 19.08.2026  ·  Официальная база знаний

Архитектура Docker Desktop Virtualization и механизм File Sharing

Ошибка Error response from daemon: mount denied: The path is not shared from the host and is not known to Docker характерна для сред Docker Desktop (macOS, Windows). В отличие от нативного Linux, где контейнеры используют общее ядро с хостом, в Docker Desktop демон dockerd работает внутри легковесной виртуальной машины Linux (Hyper-V, WSL2 или Apple Virtualization Framework). Для предоставления доступа к файлам хоста используется механизм File Sharing (VirtioFS / gRPC-FUSE / Plan 9). Если запрошенный каталог не включен в список разрешенных ресурсов, гипервизор блокирует операцию монтирования.

Бизнес-риски:

Полная блокировка локальной разработки у frontend/backend инженеров, невозможность локального тестирования микросервисов, потеря рабочего времени команд разработки.

Таблица компонентов виртуализации Docker Desktop

ОС ХостаДрайвер виртуализацииМеханизм общего доступа
macOS (Apple Silicon / Intel)Apple Virtualization FrameworkVirtioFS / gRPC-FUSE (Settings -> File Sharing)
Windows 10/11 (WSL2)WSL2 Linux KernelWSL2 9P / VHDX Mounts
Windows 10/11 (Hyper-V)Hyper-V MobyLinuxVMSMB / File Sharing Resources

Пошаговая настройка разрешений File Sharing

Сценарий 1: Добавление каталога в File Sharing на macOS

  1. Откройте Docker Desktop -> нажмите на иконку шестеренки (Settings).
  2. Перейдите в раздел Resources -> File Sharing.
  3. Нажмите кнопку + (Add) и выберите директорию вашего проекта (например, /Users/developer/projects).
  4. Нажмите Apply & Restart.

Сценарий 2: Переключение на Virtualization Framework / VirtioFS

На современных версиях macOS VirtioFS обеспечивает максимальную скорость и стабильность:

# Проверка доступности пути через CLI macOS
ls -la /Users/$(whoami)/projects

# В настройках Docker Desktop:
# Settings -> General -> выберите 'Use Virtualization framework'
# Settings -> Features in development -> включите 'VirtioFS'

Сценарий 3: Настройка Docker Desktop на Windows с бэкендом WSL2

Если проект находится внутри файловой системы Windows, а Docker использует WSL2:

# Настройка WSL Integration в Docker Desktop:
# Settings -> Resources -> WSL Integration -> Включите нужный дистрибутив

# Рекомендация ITSTM: Перенесите код внутрь файловой системы WSL2:
mkdir -p ~/projects/app
cd ~/projects/app
# Запуск из нативного Linux пути исключает ошибки маппинга Windows-дисков

Типовые ошибки администраторов

  • Хранение тяжелых проектов (node_modules, vendor) на смонтированных дисках Windows: Скорость I/O через трансляцию файловой системы падает в десятки раз, приводя к таймаутам монтирования.
  • Монтирование системных директорий без прав администратора: Попытка смонтировать /etc или системные папки блокируется встроенными политиками безопасности ОС хоста.
Команда разработки тратит часы на решение проблем с Docker Desktop на рабочих станциях?
ITSTM настроит стандартизированное окружение Dev-контейнеров, интеграцию с WSL2/macOS и удаленные Dev-серверы для ускорения разработки.
Практический опыт инженера: При разработке под Windows всегда размещайте код внутри WSL2 rootfs (/home/username/...), а не на диске C:/. Это исключает ошибки mount denied, ускоряет сборку в 5-8 раз и снимает проблемы с блокировкой файлов антивирусом.

Частые вопросы (FAQ)

Почему ошибка возникает при монтировании путей из /var/folders/ на Mac?

Директория /var/folders на macOS является скрытой временной папкой. Добавьте путь '/private' или '/var/folders' в список File Sharing в настройках Docker Desktop.

Нужно ли перезапускать Docker Desktop после изменения путей?

Да, виртуальная машина гипервизора должна перемонтировать хостовые разделы, поэтому нажатие Apply & Restart обязательно.

Почему на Linux серверах такой ошибки не бывает?

В Linux Docker работает напрямую с ядром хоста и файловой системой без слоя виртуализации гипервизора, если не включены жесткие профили AppArmor/SELinux.

Как исправить проблему, если путь содержит символические ссылки (Symlinks)?

Docker Desktop требует, чтобы как сама символическая ссылка, так и целевая директория входили в разрешенный список File Sharing.