Настройки для брандмауэра Windows, чтобы позволить Docker для Windows делиться диском
Брандмауэр Windows блокирует мою попытку разрешить Docker для Windows делиться C: на машине Windows 10.
Прекрасно работает при брандмауэре Windows. Когда я получаю
Брандмауэр блокирует общий доступ к файлам между Windows и контейнеры. Подробнее см. В документации.
В документации указано
Вам не нужно открывать порт 445 в любой другой сети. По умолчанию, разрешить подключения к порту 10.0.75.1 445 (хост Windows) из 10.0.75.2 (виртуальная машина).
Я "googled out", пытаясь найти, как это сделать - может ли кто-нибудь посоветовать?
Ответы
Ответ 1
Фактически вам не нужно обмениваться диском C, но только переустановите (или, возможно, даже снимите флажок - нажмите "ОК", а затем проверьте) службу обмена файлами и печатьми на виртуальной сетевой карте Hyper-V.
См. эту статью.
Кроме того, если существуют ограничения на ваши профили сети (т.е. общедоступные), рассмотрите возможность изменения "неопознанной сети" по умолчанию для карты "vEthernet (DockerNAT)" в приватном режиме с помощью этой команды PowerShell, прежде чем делать следующее:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Ответ 2
Итак, после запуска в той же проблеме, я нашел решение.
Вот что я сделал:
Шаг 1: Откройте ESET. Затем нажмите на настройки
![click setup]()
Шаг 2: Нажмите на Защита сети
![click network protection]()
Шаг 3: Нажмите на мастере устранения неполадок
![click troubleshooting wizard]()
Шаг 4. Найдите сообщение 10.0.75.2 (настройка IP- адреса докера по умолчанию). Просто проверьте, какой диапазон IP-адресов определен в настройках док-станции. Затем найдите IP, который находится в этом диапазоне.
![find the connection]()
Шаг 5: Нажмите на кнопку Unblock, после чего вы должны получить этот экран.
![click unblock]()
Это решило проблему для себя.
Затем вы можете перейти к Правилам и проверить добавленное правило.
PS: Это мой первый пост, извините за любые неправильные процедуры.
Ответ 3
Только это решение помогает мне:
- Перейдите в Диспетчер Hyper-V → Диспетчер виртуальных коммутаторов → DockerNAT → Тип подключения: измените внутреннее на личное, примените, измените обратно на внутреннее, примените
- Перезапустите MobyLinuxVM
- Перезапустите Docker
- Установите для сетевого профиля Docker значение "Частный". Запустите команду в PowerShell от имени администратора
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
- Сброс общего доступа к файлам и принтерам для сетей Microsoft при подключении DockerNAT
- Перейдите в Docker → Настройки → Общие диски и поделитесь C:
Ответ 4
Мое решение заключалось в отключении от VPN; что вызывало проблему
Ответ 5
Я не использовал сторонние брандмауэры, когда сталкивался с этой ошибкой. Я был убежден, что это проблема брандмауэра Windows, хотя отключение брандмауэра Windows не помогло мне. Я наконец-то нашел этот пост в блоге после долгих исследований: ошибка Docker в Windows 10: брандмауэр блокирует общий доступ к файлам...
В конечном итоге это НЕ связано со встроенным брандмауэром Windows.
Исправление
- Снимите флажок Общий доступ к файлам и принтерам для сетей Microsoft из сетевого адаптера vEthernet (DockerNAT) (вы можете найти соединение в Центре сетей и общего доступа Windows).
- Еще раз проверьте и убедитесь, что он включен.
Ответ 6
Мой накопитель C перестает использоваться совместно с Docker после недавнего обновления Windows 10. Я получал ту же проблему, заявив, что он был заблокирован брандмауэром Windows при попытке опубликовать его.
Просматривая приведенные выше решения, я нашел для меня что-то, что было проще, чем что-либо еще, что я видел на этой странице. В панели управления\Все элементы панели управления\Центр управления сетями и общим доступом, в vEthernet (DockerNAT) Я отключил свойство Общий доступ к файлам и принтерам для сетей Microsoft и сохранил настройки. Затем я снова проверил свойство для его повторного использования и сохранил его снова.
В этот момент я смог переустановить диск C в настройках Docker. Я понятия не имею, почему это сработало, но это не проблема межсетевого экрана, у которой уже есть запись для DockerSmbMount.
Ответ 7
У меня была эта проблема с Касперским; выключение Касперского сработало, поэтому я знал, что это брандмауэр. В моем случае Касперский почему-то уже блокировал порт 445. Мне пришлось перейти к правилам пакетов для межсетевого экрана, локальных служб (TCP) и удалить 445 из списка портов портов.
![Image 1]()
![Image 2]()
Ответ 8
На машинах Windows 10 в доменных сетях при создании виртуального адаптера Ethernet Hyper-V он классифицируется как общедоступная сеть. Вы должны изменить его на частную сеть, чтобы разрешить более смягченные правила брандмауэра Windows и, следовательно, разрешить общий доступ к файлам.
Запустите следующую команду в PowerShell:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Измените имя в кавычках, если ваше виртуальное сетевое подключение Hyper-V называется другим.
Ответ 9
Моя проблема заключалась в том, что Cisco Anyconnect VPN вмешивалась во внутреннюю сеть докеров
чтобы исправить это перейдите по ссылке:
Настройки Cisco Anyconnect> Настройки> установите флажок Allow local (LAN) access when using VPN
Ответ 10
Это зависит от того, какой брандмауэр у вас установлен. В моем случае я отключил встроенный брандмауэр Windows и использую ESET Smart Security, поэтому мои правила выглядят так:
- Создайте правило для подключения IN, поскольку вы должны разрешить Docker подключаться к вашему хосту и установить для него значение Разрешить
![enter image description here]()
- Настройте порт правильно, как описано в документе, означающем
445
:
![enter image description here]()
- Настройте удаленный IP-адрес:
![enter image description here]()
Возможно, это не ответ, поскольку он не связан с брандмауэром Windows, но может дать вам подсказку, что делать.
Ответ 11
Как указано в одном другом ответе, Docker не очень хорошо играет с VPN.
Если вы используете Nordvpn, вам необходимо отключить "Невидимость в локальной сети" и, возможно, "Internet Kill Switch".
Если вы сделали это, он должен работать даже при активном VPN.
![NordVPN Client]()
Ответ 12
Ни одно из вышеперечисленных не работало для меня.
Что в итоге привело к открытию свойств сети "vEthernet (DockerNAT)" и пометке "Расширяемый виртуальный коммутатор Hyper-V" в нижней части списка на вкладке "Сеть".
Не уверен, что это фактическое исправление или это просто как-то reset сетевой адаптер для меня... но он сработает!
Ответ 13
У меня была такая же проблема, и я испробовал все исправления - и оказалось, что нужно больше одного:
- Добавить правило брандмауэра (Norton Security для меня)
- Сделать частную сеть
- Поделитесь диском
Я написал полное объяснение в http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/
Ответ 14
Все, что вы разместили, НЕ РАБОТАЕТ для меня.
ЭТО ДЕЙСТВУЕТ.
Я установил выпуск EDGE. Затем я пошел к WINDOWS DEFENDER и отключил брандмауэр для DOCKER NAT. (не мой фактический адаптер ethernet, только докер nat)
Как только я отключил защитник/брандмауэр Windows, он работал нормально.
тьфу. действительно надеется, что это поможет некоторым из вас!
Ответ 15
У меня была такая же проблема с F-secure, что DeepGuard блокировал службу Docker. Мое решение было:
Откройте F-secure client и нажмите " Задачи"
![введите описание изображения здесь]()
Выберите " Разрешить запуск программы
![введите описание изображения здесь]()
Выберите из списка "com.docker.service" и нажмите " Удалить"
![введите описание изображения здесь]()
После этого перезагрузить Docker клиент и попробуйте применить общий доступ к файлам.
Также очень хорошее руководство по устранению неполадок здесь: Ошибка: брандмауэр блокирует общий доступ к файлам между Windows и контейнерами
Ответ 16
Мой G-диск перестает использоваться совместно с Docker после недавнего обновления Windows 10. Я получал ту же проблему, заявив, что он был заблокирован брандмауэром Windows при попытке опубликовать его.
Затем я попытался решить эти проблемы двумя предложениями, но я не могу решить эту проблему после того, как я попытался выполнить учетные данные Reset ниже общих разделов, и моя проблема была решена.
Итак, если вы хотите, вы можете попытаться это сделать -
![введите описание изображения здесь]()
Ответ 17
У меня была та же проблема с брандмауэром, что не позволяло мне делиться моим диском C. Я попробовал все перечисленные выше решения и ничего не работал у меня. Затем я полностью удалил докер с моей машины Control Panel\Programs\Programs and Features ->
select Docker for Windows -> Uninstall
Затем перейдите на веб-сайт докеры и нажмите Get Docker for Windows (Stable)
.
После этого мне удалось поделиться диском C
Ответ 18
Для AVG Internet Security включение Режим общего доступа к интернету в разделе Настройки брандмауэра помогло мне.
![введите описание изображения здесь]()
Ответ 19
Даже после проверки правильности настройки правила для входящего брандмауэра, даже после удаления и переустановки службы общего доступа к файлам и принтерам у меня это не сработало.
Решение: кроме того, я должен был сделать еще одну вещь. Мне пришлось отключить флажок Запретить входящие подключения, когда в общедоступной сети в определенных настройках брандмауэра для общедоступных сетей. После этого он начал работать и для меня. Смотрите скриншоты, прикрепленные в конце этого сообщения.
Не знаю, как долго этот вариант уже был там. В настоящее время я работаю над Win 10 Pro 1709 16299,402.
1. Откройте специальные настройки брандмауэра для публичных сетей ![Open specific firewall settings for public networks]()
2. Снимите этот флажок ![Uncheck this checkbox]()
Ответ 20
В моем случае я отключил "Блокировать TCP 445" на брандмауэре Защитника Windows с повышенной безопасностью, и это сработало. Затем снова включил после настройки общих дисков в Docker.
![setting of Block TCP 445]()
![setting of Shared drives]()
Ответ 21
Это (ссылка ниже), кажется, лучшее решение, которое я нашел до сих пор. Постоянно перезагружается. Лучше всего объяснить здесь: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3
Сетевой интерфейс vEthernet создается динамически при каждом запуске системы, и он создается в группе "Public", а не в группе "Private" (где он работает). Изменения в одном из сценариев запуска Docker (вызываются по ссылке выше) автоматизируют команду/исправление powershell, отмеченное Дэвидом Тесаром выше....
Мне больше повезло, добавив функцию в скрипт, а не редактируя скрипт и меняя "Внутренний" на "Частный".
Ответ 22
Если ничего из вышеперечисленного не работает, просто убедитесь, что вы не подключены к VPN. Это именно то, что случилось со мной, я был подключен к VPN с помощью клиента Cisco AnyConnect, а также убедитесь, что вы установили статический DNS в настройках докера.
Ответ 23
С помощью Kaspersky Internet Security вы легко можете решить эту проблему, если смените тип сетевого адаптера vEthernet (DockerNAT)
на Trusted network
.
Настройки> Защита> Брандмауэр> Сети> vEthernet (DockerNAT)> Выберите "Доверенная сеть"
![enter image description here]()
Ответ 24
для тех, кто не может решить эту проблему каким-либо образом, вы можете попробовать это: вручную подключите диск к хосту докера:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
Исследование здесь: https://github.com/docker/for-win/issues/466#issuecomment-398305463
Ответ 25
Я нашел это довольно легко. Просто зайдите к вам в сетевые подключения. Вы можете зайти в Панель управления/Сеть и Обмен. Вы найдете различные связи. Поиск Docker-соединения. Выберите, какой из них по умолчанию. После выбора сети перейдите в Свойства. В разделе свойств включите опцию Расширяемый виртуальный коммутатор Hyper-V. Это поможет виртуальному контейнеру использовать сетевую карту.
Ответ 26
Что это сделало для меня (после нескольких часов trial-n-error) изменило маску подсети с 255.255.255.240
на 255.255.255.0
(что ничего не должно изменить).
Как часть метода trial-n-error, я проделал все остальное, что перечислено в статье, но безуспешно... но на этом последнем шаге это произошло... и возврат к 255.255.255.240
не нарушает хороший цикл.
Я признаю, что это не имеет смысла... но это может быть связано с внутренним состоянием, вызванным только изменением сети.
Во всяком случае, если я помог только один, то это стоило усилий.
Docker Desktop edge, 2.0.4.1 (34207)
Ответ 27
Включение опции Hyper-V Extensible Virtual Switch работало для меня. Другие решения не спомогли мне. Я сделал это, изменив конфигурацию в диспетчере виртуальных коммутаторов HyperV - DockerNAT - Расширения - Панель расширений виртуального коммутатора.
Ответ 28
Альтернативное решение! Я не уверен, как я решил эту проблему, но я думаю, что это был следующий подход, который добился цели.
- Откройте диспетчер Hyper-V
- Выберите Virtual Switch Manager
- Если несколько виртуальных коммутаторов называются DockerNAT, переименуйте один из них в любое другое имя.
- Убедитесь, что DockerNAT имеет тип подключения Внутренняя сеть.
- Также убедитесь, что все дубликаты имеют тип подключения "Внешняя сеть" и используют подключение по Ethernet, а не беспроводное подключение (в раскрывающемся меню).
- Нажмите ок и закройте Hyper-V Manager
- Перезагрузите компьютер (дважды, на всякий случай).
- Теперь попробуйте разделить диск для докера в Docker For Windows.
Ответ 29
Для меня единственное, что мне нужно было сделать, - временно отключить брандмауэр в защите конечных точек Symantec. Раздели С-диск в настройках докера GUI. Вернитесь и включите брандмауэр в Symantec. (нет команды powershell и т.д...)
![enter image description here]()
Ответ 30
Похоже, что многие имеют эту проблему при запуске Cisco AnyConnect. Я получил ту же проблему, и вот как я решил:
Причина. Подсеть, используемая Docker, находится в списке защищенных маршрутов, управляемых Cisco AnyConnect (я считаю, что этот список управляется администратором VPN).
Решение: измените подсеть, используемую Docker, чтобы она не перекрывалась со списком, управляемым AnyConnect.
Например, в моем случае я изменил с 10.0.75.0 (который был перекрыт с 10.0.0.0/8) на 172.31.0.0/28.
![enter image description here]()