Параметры брандмауэра Windows, позволяющие Docker для Windows предоставлять общий доступ к диску

Брандмауэр Windows блокирует мою попытку разрешить Docker для Windows совместно использовать C: на компьютере с Windows 10.

Прекрасно работает при выключенном брандмауэре Windows. Когда он идет, я получаю

Брандмауэр блокирует совместное использование файлов между Windows и контейнерами. См. Документацию для получения дополнительной информации.

В документации говорится

Вам не нужно открывать порт 445 в любой другой сети. По умолчанию разрешены подключения к порту 445 10.0.75.1 (хост Windows) из 10.0.75.2 (виртуальная машина).

Я "погуглил", пытаясь найти, как это сделать - может кто-нибудь посоветовать?


person Ribeye    schedule 13.02.2017    source источник
comment
Cisco AnyConnect VPN блокировал это для меня, после выхода из VPN это сработало.   -  person Chris Wolf    schedule 25.01.2019
comment
У меня Cisco блокирует меня, но мне НЕОБХОДИМО подключиться к VPN, а также иметь общий доступ к Docker ... Есть идеи?   -  person Nicolas Irisarri    schedule 02.02.2019
comment
Я следил за этим для брандмауэра Norton, и он отлично работал stackoverflow.com/questions/45159006/   -  person Robin Sanner    schedule 26.03.2019
comment
См. Сообщение ниже, которое отвечает на этот вопрос superuser.com/questions/1470821/   -  person Aravind S    schedule 13.08.2019
comment
@NicolasIrisarri: Я решил ту же проблему (нужно использовать их оба одновременно). Решение состоит в том, чтобы использовать подсеть, отличную от той, которая защищена AnyConnect. См. Мой ответ ниже: stackoverflow.com/a/58406873/9064636   -  person Averell    schedule 16.10.2019
comment
Версия Docker для Windows для Edge, начиная с версии 2.1.5.0, имеет новую реализацию совместного использования файлов без необходимости модификации брандмауэра: docs.docker.com/docker-for-windows/edge-release-notes Вы можете скачать пограничную версию: download.docker.com/win/edge/Docker%20Desktop%20Installer.exe   -  person B.Z.    schedule 28.12.2019


Ответы (37)


На самом деле вам не нужно предоставлять общий доступ к диску C, а только переустановите (или, возможно, даже снимите флажок - нажмите OK, а затем установите флажок) службу общего доступа к файлам и принтерам на виртуальной сетевой карте Hyper-V. См. эту статью.

Также, если есть ограничения на ваши сетевые профили (т.е. общедоступные), рассмотрите возможность изменения «неопознанной сети» по умолчанию для карты «vEthernet (DockerNAT)» на частную с помощью этой команды PowerShell, прежде чем выполнять указанные выше действия:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
person David Tesar    schedule 10.05.2017
comment
Мне пришлось закрыть Docker для Windows и перезапустить его после выполнения указанной выше команды Powershell. Вы можете запустить Get-NetConnectionProfile, чтобы убедиться, что DockerNAT сеть находится в категории Private - person seangwright; 11.06.2017
comment
Ссылка на blog.olandese.nl/2017/05/03/ решил мою проблему. Большое спасибо! - person Andrie; 18.06.2017
comment
У меня ничего из этого не сработало, поэтому я попробовал: stackoverflow.com/a/47837191/1895627 - person Andrei; 15.12.2017
comment
Эта команда решает эту проблему для меня, но, к сожалению, из-за чего-то в моей организации. групповая политика сбрасывается каждый раз, когда я перезагружаю машину, что меня очень раздражает. - person Robert Noack; 14.02.2018
comment
Я обнаружил, что этот подход более удобен, хотя, как и @RobertNoack, мне приходится повторять его каждый раз после перезагрузки. - person David S.; 26.02.2018
comment
Это сработало для меня, также как и необходимость повторять его после каждой перезагрузки, похоже, у меня тоже есть проблема с групповой политикой - person Dan Hogan; 27.02.2018
comment
Не могу удалить это, появляется ошибка 0x80071779, я пытался отключить - ›включить. Также брандмауэр отключен ... Я также пытался установить частный, все еще не работает, есть идеи? - person BrunoLM; 26.06.2018
comment
Удаление / установка общего доступа к файлам не решила проблему, но после выполнения команды Set-NetConnectionProfile ... я смог поделиться дисками с Docker. - person Asencion; 12.09.2018
comment
Это действительно сработало для меня, и это несложно. Просто запустите Powershell от имени администратора и выполните команду из этого ответа: Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private. (Мне не нужно было выходить из Docker, и это сработало.) Обязательно вернитесь к Docker Settings -> Shared Drives и reset credentials - и затем поставьте галочку на желаемом диске. Попытка создать контейнер Docker с монтированием тома сейчас - у меня это сработало - больше нет проблем с брандмауэром. Почему, ну почему Docker просто не включает эти инструкции для Docker для Windows? - person Dan Nissenbaum; 22.03.2019
comment
удалить службу общего доступа к файлам и принтерам: Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server - person Marcel D-B; 02.05.2019
comment
Set-NetConnectionProfile работал у меня, сначала я попробовал PowerShell Core, который работал не очень хорошо, и PowerShell 5, который работает очень хорошо. - person Roberto Borges; 13.05.2019
comment
У меня ничего из этого не сработало; это было потому, что на моем ноутбуке ИТ-служба отключила SMB1 ... включите его, и все снова в порядке. Docker действительно нужно отойти от SMB1. - person Dan; 03.10.2019
comment
Больше невозможно удалить общий доступ к файлам и принтерам с помощью пользовательского интерфейса. support.microsoft. com / en-us / help / 4340181 / @ MarcelD-B комментарий у меня сработал. Спасибо! - person YMomb; 14.10.2019

Итак, после того, как я столкнулся с той же проблемой, я нашел решение.

Вот что я сделал:


Шаг 1. Откройте ESET. Затем нажмите Настройка.

нажмите

Шаг 2. Нажмите Защита сети.

нажмите защита сети

Шаг 3. Нажмите Мастер устранения неполадок.

нажмите мастер устранения неполадок

Шаг 4. Найдите соединение 10.0.75.2 (IP-адрес докера по умолчанию) Просто проверьте, какой диапазон IP-адресов определен в настройках вашего докера. Затем найдите IP-адрес, который находится в этом диапазоне.

найти связь

Шаг 5: Нажмите кнопку Разблокировать, после чего вы должны увидеть этот экран.

нажмите разблокировать

Это решило проблему для меня.

Затем вы можете перейти к Правилам и проверить добавленное правило.


PS: Это мой первый пост, прошу прощения за неправильные процедуры.

person Franche Van Den Berg    schedule 22.03.2017
comment
Этот пост был чрезвычайно полезен для меня, потому что при добавлении правил, как описано в документации, упомянутые IP-адреса были разными. Пошел безиг! - person DelphiLynx; 12.10.2017
comment
Это решение для всех пользователей ESET, спасибо! - person kutacoder; 17.10.2017
comment
Отличный вклад Франш Ван Ден Берг, спасибо. Это действительно решение для пользователей ESET, и очень элегантное. - person Vacilando; 12.07.2018
comment
Для ESET убедитесь, что сеть докеров находится в доверенной зоне. - person WhiteKnight; 19.11.2019
comment
Это точное решение сработало для меня безупречно. Благодарю вас! - person khalid; 27.11.2019

Мне помогает только это решение:

  • Перейдите в Hyper-V Manager -> Virtual Switch Manager -> DockerNAT -> Тип подключения: изменить с внутреннего на частное, применить, вернуться к внутреннему, применить
  • Перезапустите MobyLinuxVM
  • Перезапустить докер
  • Установите для сетевого профиля Docker значение «Частный». Запустить команду в PowerShell от имени администратора
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Сброс общего доступа к файлам и принтерам для сетей Microsoft при подключении DockerNAT
  • Перейдите в Docker -> Настройки -> Общие диски и поделитесь C:
person kostia24    schedule 20.10.2017
comment
Стоит отметить, что Set-NetConnectionProfile должен запускаться в PowerShell от имени администратора, а не обычного Cmd. У меня все работает нормально, но адаптер Ethernet по-прежнему unidentified network - person DarkMukke; 27.11.2017
comment
ковровые бомбардировки FTW. Ни одно из других решений не помогло. Спасибо. - person David West; 13.11.2018
comment
Это сработало на 100%. На этот раз ни один из других вариантов не сработал, и окончательным решением было установить частную сеть. - person lordg; 18.12.2018
comment
Спасибо чувак! Ты спас мне день. Это только один способ исправить эту чертову ошибку. - person TimeCoder; 12.03.2019
comment
Работал у меня. Большинство других решений не помогли. убедитесь, что вы выполняете ВСЕ шаги. Я пропустил шаг Set Docker network profile to «Private» Set-NetConnectionProfile -interfacealias vEthernet (DockerNAT) -NetworkCategory Private на свой страх и риск. - person Mr Slim; 01.04.2019
comment
Мне просто нужно было сделать первый шаг, чтобы это сработало, спасибо. - person mpiffault; 09.05.2019
comment
Оно работает!!! Но в точке Restart docker вам нужно выйти из докера, а затем запустить его снова, а не просто применить изменения в его окнах настроек ... - person Stefano Scarpanti; 14.06.2019
comment
Это сработало !!! Хотя, я думаю, мне нужно было только внутреннее сделать частным, вернуться к внутреннему и перезапустить шаги Docker. - person joshmcode; 19.06.2019
comment
Это работает, но, как сказал @DarkMukke, мне пришлось идентифицировать его с помощью неопознанной сети, без pum;) - person Marcelo Scofano Diniz; 06.07.2019
comment
Это помогло мне решить немного другую проблему, когда я не мог запустить контейнер на определенном порту, даже если он был указан как неиспользуемый докером и окнами. - person TJ L; 09.07.2019
comment
Для тех, кто хочет знать, что означает «Сбросить общий доступ к файлам и принтерам для сетей Microsoft при подключении DockerNAT». Заимствуя другой популярный ответ, в моем случае это означало отключить эту службу в сетевом адаптере vEthernet (DockerNAT), а затем снова включить ее. Я не мог и, по-видимому, не нуждался в удалении / переустановке этой службы. Просто отключите- ›нажмите ОК-› снова откройте свойства- ›Включить-› нажмите ОК. - person Greg Z.; 10.12.2019

Моим решением было отключиться от VPN; это было причиной проблемы

person ianaz    schedule 14.07.2017
comment
Я также решил проблему после отключения от моего VPN, что, конечно, я не пробовал, пока не исчерпал все остальные возможности. вздох - person Kirkaiya; 01.06.2018
comment
Полдня искал и просто нужно было отключиться от VPN .. Спасибо! - person HELPME; 13.12.2018
comment
Простое решение .. Спасибо! - person MilanYadav; 19.02.2019
comment
Спасибо! Я забыл свой VPN-клиент, который автоматически запускается при загрузке Windows. - person Fabio Formosa; 02.05.2019
comment
Спасибо! Я безуспешно выполнил другую инструкцию, но после отключения от VPN все заработало !!! - person MeIr; 07.08.2019

Когда я столкнулся с этой ошибкой, я не использовал сторонние брандмауэры. Я был убежден, что это проблема с брандмауэром Windows, хотя отключение брандмауэра Windows не помогло мне. Я наконец нашел это сообщение в блоге после долгих исследований: Ошибка Docker в Windows 10: брандмауэр блокирует общий доступ к файлам ...

В конечном итоге он НЕ связан со встроенным брандмауэром Windows.

Решение

  1. Снимите флажок Общий доступ к файлам и принтерам для сетей Microsoft с сетевого адаптера vEthernet (DockerNAT) (вы можете найти соединение в сети Windows и Центр обмена).
  2. Проверьте его еще раз и убедитесь, что он включен.
person jiminikiz    schedule 20.04.2017
comment
У меня отлично сработало, спасибо! - person LewisCheng-MSFT; 01.05.2017
comment
По-видимому, это сработало и для меня. Я проверил брандмауэр Windows, и у меня уже было правильное правило, вероятно, предустановленное самим докером. - person Davide Inglima; 11.05.2017
comment
Было бы неплохо узнать, почему это работает и какова настоящая основная причина проблемы. Кажется, часто случается. - person Jason Rowe; 16.05.2017
comment
Проблема в том, что вам нужно сделать это снова после перезагрузки системы - person AFD; 01.06.2017
comment
@AFD, интересно, у меня такой проблемы нет. - person jiminikiz; 08.06.2017

Мой диск C перестал использоваться Docker после недавнего обновления Windows 10. У меня возникла такая же проблема, когда я сказал, что он был заблокирован брандмауэром Windows при попытке поделиться им.

Просматривая приведенные выше решения, я нашел то, что сработало для меня, что проще, чем все, что я видел на этой странице. В Панель управления \ Все элементы панели управления \ Центр управления сетями и общим доступом при подключении vEthernet (DockerNAT), Я снял флажок со свойства Общий доступ к файлам и принтерам для сетей Microsoft и сохранил настройку. Затем я снова проверил свойство, чтобы снова включить его, и снова сохранил.

На этом этапе я смог повторно опубликовать диск C в настройках Docker. Я понятия не имею, почему это сработало, но это не проблема брандмауэра, в котором уже есть запись для DockerSmbMount.

person jrk    schedule 13.05.2017
comment
Ничего себе, это досадный баг .. Я искал весь день, спасибо - person a11r; 14.03.2018
comment
это почти сработало. я не получаю сообщение брандмауэра, но флажок не установлен! - person jokab; 09.03.2019

У меня была эта проблема с Касперским; отключение Касперского сработало, поэтому я знал, что это брандмауэр. В моем случае Касперский почему-то уже блокировал порт 445. Мне пришлось перейти к Правилам пакетов для брандмауэра, локальных служб (TCP) и удалить 445 из списка портов блокировки.

Изображение 1

Изображение 2

person Barry Holroyd    schedule 30.06.2017
comment
Сработало у меня! Но в Kaspersky ES 10. пользовательский интерфейс выглядел иначе: Вкладка «Настройки» ›Выберите Брандмауэр слева› нажмите кнопку Сетевые пакетные правила ›Выберите локальное TCP-соединение› Нажмите «Изменить» вверху. - person Simon B.; 20.02.2018
comment
Вместо того, чтобы удалять 445 из списка, я изменил «Действие» с «Заблокировано» на «По правилам приложения», и это сработало для меня. Поэтому я предполагаю, что удаление 445 из «Локальных служб (TCP)» и создание нового правила «Docker SMB Mount» с действием «По правилам приложений» также должно работать. - person Jimson Kannanthara James; 26.02.2018
comment
Этот сработал для меня. Мне пришлось приостановить работу Kaspersky, а затем попробовать включить общий диск в Docker для Windows. - person gdyrrahitis; 04.02.2019
comment
Спасибо, что поделились решением для Kaspersky. У меня это сработало. - person namit; 03.03.2019
comment
У меня была та же проблема, и я подписался на matthewhorne.me/ - person Anthony O.; 04.04.2019

Для компьютеров с Windows 10 в доменных сетях при создании адаптера виртуального Ethernet Hyper-V он классифицируется как общедоступная сеть. Вы должны изменить его на частную сеть, чтобы разрешить более мягкие правила брандмауэра Windows и, следовательно, разрешить общий доступ к файлам.

Выполните следующую команду в PowerShell:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

Измените имя в кавычках, если виртуальное сетевое соединение Hyper-V вашей машины называется как-то иначе.

person mzamora    schedule 09.10.2018
comment
Сработало для меня как шарм. Выполните команду в сеансе Powershell 6 в Windows 10 v10.0.17763, сборка 17763, Docker v18.09.2, сборка 6247962, и под управлением Norton Security Suite. - person Adam; 03.04.2019

Моя проблема заключалась в том, что Cisco Anyconnect VPN препятствовала работе внутренней сети докеров.

чтобы исправить это, перейдите в:
Настройки Cisco Anyconnect> Настройки> отметьте Allow local (LAN) access when using VPN

person Arash Moosapour    schedule 10.12.2018
comment
Это сработало для меня, когда предложения о совместном использовании файлов для печати не работали. Anyconnect Allow local (LAN) access when using VPN уже был проверен, поэтому я снял его, отключил, перепроверил опцию и снова подключился к VPN. Затем Docker для Windows применил общий ресурс диска по желанию. - person Aaron; 13.01.2019
comment
У меня не получилось, мне пришлось отключить Cisco AnyConnect, чтобы поделиться дисками. Любые идеи? - person Jack; 05.02.2019
comment
Судя по всему, воины нашей корпоративной сети защитили 0.0.0.0/0, так что мне не повезло :-( - person Jack; 16.10.2019

Как указано в одном другом ответе, Docker не очень хорошо работает с VPN. Если вы используете Nordvpn, вам необходимо отключить «Невидимость в локальной сети» и, возможно, «Интернет-аварийный выключатель».

Если вы это сделали, он должен работать даже при активном VPN.

Клиент NordVPN

person Maximilian Ast    schedule 11.10.2018
comment
Спасибо! Это решило проблему для меня. Я застрял на 2 недели! - person user3034; 05.02.2019
comment
Большое спасибо! Несколько часов игры с настройками сети, это единственное, что у меня сработало! - person AnotherShruggingPhysicist; 06.01.2020

Это зависит от того, какой брандмауэр у вас установлен. В моем случае я отключил встроенный брандмауэр Windows и использую ESET Smart Security, поэтому мои правила выглядят так:

  • Создайте правило для подключения IN, так как вы должны разрешить Docker подключаться к вашему хосту и установить для него значение Разрешить.

введите описание изображения здесь

  • Настройте порт должным образом, как описано в документации, означающей 445:

введите описание изображения здесь

  • Настройте удаленный IP-адрес:

введите описание изображения здесь

Возможно, это не ответ, поскольку он не имеет отношения к брандмауэру Windows, но может дать вам представление о том, что делать.

person ReynierPM    schedule 13.02.2017
comment
Спасибо, Рейнье, я как мог следил за тем, что вы показываете в эквиваленте брандмауэра Windows. - Вкладка «Общие» = Включено - Вкладка «Протоколы и порты» = Протокол TCP и локальный порт = 445 - Вкладка «Область действия» = Удаленный IP-адрес = 10.0.75.2 Но получено такое же сообщение об ошибке. Разрешены все порты и IP-адреса - результат тот же. Другое правило имеет приоритет? - person Ribeye; 14.02.2017
comment
Будет лучше, если вы добавите несколько скриншотов того, что у вас есть, потому что я ненавижу брандмауэр Windows и никогда не сталкивался с этим раньше ... - person ReynierPM; 14.02.2017
comment
как выбрать Системное приложение? - person Küzdi Máté; 05.04.2018
comment
Нет необходимости добавлять системное приложение, но необходимо убедиться, что сеть DockerNAT является доверенной в известных сетях с диапазоном IP-адресов 10.0.75.1/24. - person Miguel Febres; 17.09.2018
comment
Мы не используем ESET: / - person Ionel Lupu; 30.09.2019

У меня ничего из вышеперечисленного не сработало.

В конечном итоге трюк помог открыть свойства сети «vEthernet (DockerNAT)» и установить флажок «Расширяемый виртуальный коммутатор Hyper-V» внизу списка на вкладке «Сеть».

Не уверен, что это реальное исправление или это просто каким-то образом сбросил сетевой адаптер для меня ... но это сработало!

person Samuel Neugber    schedule 06.12.2017

В моем случае я отключил «Блокировать TCP 445» в брандмауэре Защитника Windows в режиме повышенной безопасности, и это сработало. Затем включил его снова после настройки общих дисков в Docker.

настройка блокировки TCP 445

настройка общих дисков

person khanhkid    schedule 19.06.2018
comment
Я только что понял, что лично добавил это правило брандмауэра, когда просочились инструменты взлома АНБ. Спасибо! - person Danny Z; 05.11.2019
comment
подтвердил, добавив этот материал 445, работал i.imgur.com/vTNfORA.jpg - person Royi Namir; 14.04.2021

Похоже, что у многих возникает эта проблема при запуске Cisco AnyConnect. У меня такая же проблема, и вот как я решил:

Причина: подсеть, используемая Docker, находится в списке Защищенных маршрутов, управляемом Cisco AnyConnect (я считаю, что этим списком управляет администратор вашей VPN).

Решение: измените подсеть, используемую Docker, чтобы она не пересекалась со списком, управляемым AnyConnect.

Например, в моем случае я изменил значение с 10.0.75.0 (которое перекрывалось с 10.0.0.0/8) на 172.31.0.0/28. введите здесь описание изображения

person Averell    schedule 16.10.2019

У меня была та же проблема, и я попробовал все исправления - и оказалось, что нужно больше одного:

  • Добавить правило брандмауэра (Norton Security для меня)
  • Сделайте сеть частной
  • Поделитесь поездкой

Я написал полное объяснение на http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/

person Simon Williams    schedule 05.08.2017
comment
«Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится ». - person McGrady; 05.08.2017
comment
Ключевым моментом здесь для меня было создание частной сети докеров. - person Mike Caron; 02.02.2018

Мой диск G перестал использоваться Docker после недавнего обновления Windows 10. У меня возникла такая же проблема, когда я сказал, что он был заблокирован брандмауэром Windows при попытке поделиться им.

Затем я попытался решить эту проблему с помощью нескольких предложений, но я не могу решить эту проблему после этого я попытался сбросить учетные данные ниже общих дисков, и моя проблема была решена.

Итак, если вы хотите, вы можете попробовать сделать это -

введите здесь описание изображения

person rowmoin    schedule 30.11.2017

Все, что все опубликовали, НЕ РАБОТАЕТ для меня.

ЭТО СДЕЛАЛО.

Я установил выпуск EDGE. Затем я зашел в WINDOWS DEFENDER и отключил брандмауэр для DOCKER NAT. (не мой настоящий адаптер Ethernet, просто докер нат)

Как только я отключил защитник / брандмауэр Windows, ТАК он работал нормально.

фу. очень надеется, что это поможет некоторым из вас!

person Black Dahlia    schedule 26.12.2017
comment
отключение брандмауэра для конкретного подключения (dockerNat) помогло. Большое спасибо! - person Mafu; 03.04.2018
comment
Объясните, пожалуйста, как именно вы отключили брандмауэр Защитника Windows для определенного сетевого адаптера / подключения? - person vulcan raven; 26.10.2019

Даже после того, как я убедился, что правило брандмауэра для входящего трафика настроено правильно, и даже после удаления и повторной установки службы общего доступа к файлам и печати у меня это не сработало.

Решение. Вдобавок к этому мне пришлось сделать еще одну вещь. Мне пришлось отключить флажок Запретить входящие соединения в общедоступной сети в определенных настройках брандмауэра для общедоступных сетей. После этого он начал работать и у меня. Смотрите скриншоты, прикрепленные в конце этого сообщения.

Не знаю, как долго этот вариант уже существует. Сейчас я работаю над Win 10 Pro 1709 16299.402.


1. Откройте специальные настройки брандмауэра для общедоступных сетей.  Открыть определенные настройки брандмауэра для общедоступных сетей

2. Снимите этот флажок.  Снимите этот флажок

person baumgarb    schedule 29.04.2018

У меня была такая же проблема с F-secure, DeepGuard блокировал службу Docker. Мое решение было:

Откройте клиент F-secure и нажмите «Задачи».

введите здесь описание изображения

Выберите «Разрешить запуск программы».

введите здесь описание изображения

Выберите из списка «com.docker.service» и нажмите «Удалить».

введите здесь описание изображения

После этого перезапустите клиент Docker и попробуйте подать заявку на предоставление общего доступа к файлам.

Здесь также очень хорошее руководство по устранению неполадок: Ошибка: брандмауэр блокирует совместное использование файлов между контейнерами

person ponkape    schedule 30.09.2017

У меня была такая же проблема с брандмауэром, который не позволял мне делиться моим диском C. Я попробовал все перечисленные выше решения, и у меня ничего не получилось. Затем я полностью удалил докер со своего компьютера Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Затем перейдите на веб-сайт docker и нажмите Get Docker for Windows (Stable)
После этого я смог поделиться диском C

person Andrei    schedule 15.12.2017
comment
Я буквально все перепробовал, только это решение у меня сработало. Спасибо чувак! - person Charis Moutafidis; 18.09.2019

Для AVG Internet Security включение режима общего доступа к подключению к Интернету в настройках брандмауэра помогло мне.

введите здесь описание изображения

person Sohail    schedule 02.01.2018

Используя Kaspersky Internet Security, вы можете легко решить эту проблему, если измените тип сетевого адаптера vEthernet (DockerNAT) на Trusted network.

Настройки> Защита> Брандмауэр> Сети> vEthernet (DockerNAT)> Выберите «Надежная сеть».

введите здесь описание изображения  введите описание изображения здесь  введите описание изображения здесь  введите описание изображения здесь

person xxxbence    schedule 26.08.2019

Короче, используйте версию Edge.

Версия Edge для Docker для Windows, начиная с версии 2.1.5.0 (2019-11-04), имеет новую реализацию совместного использования файлов без необходимости модификации брандмауэра https://docs.docker.com/docker-for-windows/edge-release-notes/

«Новая реализация совместного использования файлов: Docker Desktop представляет новую реализацию совместного использования файлов, в которой используются сокеты gRPC, FUSE и гипервизора вместо сетей Samba, CIFS и Hyper-V. Новая реализация предлагает улучшенную производительность ввода-вывода. Кроме того, при использовании новая файловая система:

Users don’t have to expose the Samba port, and therefore do not experience issues related to IT firewall or the drive-sharing policy.
There is no need to provide user credentials to Docker Desktop. File access rights are automatically enforced when accessing mounted folders through containers.

"

Вы можете загрузить крайнюю версию: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe

Обратите внимание, что на данный момент крайняя версия 2.1.7.0 будет использоваться для следующего стабильного выпуска: «Примечание. Docker Desktop Edge 2.1.7.0 является кандидатом на выпуск для предстоящего основного стабильного выпуска». Таким образом, риск использования Edge относительно невелик. Или вы можете дождаться следующей стабильной версии, чтобы избежать всех этих проблем с брандмауэром.

person B.Z.    schedule 28.12.2019
comment
У меня были похожие проблемы. Я обновился до стабильной версии в январе 2021 года, и все проблемы исчезли. - person Johan Sundström; 05.01.2021

25 янв 2020

Кажется, проблема в старых версиях, я установил последнюю версию:

Docker version 19.03.5, build 633a0ea

и это сработало для меня без какой-либо конфигурации.

введите здесь описание изображения

person YCF_L    schedule 25.01.2020


Если ничего из вышеперечисленного не работает, просто убедитесь, что вы не подключены к VPN. Это именно то, что случилось со мной, я был подключен к VPN с помощью клиента Cisco AnyConnect, также убедитесь, что вы установили статический DNS в настройках докера.

person Kelvin Confesor    schedule 17.07.2019
comment
Если вам нужны оба (VPN AnyConnect и Docker), см. Мой комментарий stackoverflow.com/a/58406873/9064636 - person Averell; 16.10.2019

Я пробовал все, что указано здесь и на https://github.com/docker/for-win/issues/360

У меня ничего не работало.

Я запускаю свою среду разработки в контейнере докеров, и, пока я использую корпоративную VPN (Cisco AnyConnect), мне нужно смонтировать мой локальный диск в контейнере для доступа к файлам моего проекта.

Вот докер-хак, который у меня сработал. Добавьте --publish 8000:8000 в существующую команду запуска докера.

So

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev <image:latest>

станет

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev --publish 8000:8000 <image:latest>

Убедитесь, что порт не используется, иначе вы получите эту ошибку:

Привязка для 0.0.0.0:8000 не удалась: порт уже выделен

person Kumar Joshi    schedule 23.12.2019

для тех, кто никак не может решить эту проблему, вы можете попробовать следующее: вручную сопоставьте диск с хостом докера:

https://github.com/docker/for-win/issues/466#issuecomment-416682825

Исследование находится здесь: https://github.com/docker/for-win/issues/466#issuecomment-398305463

person osexp2003    schedule 11.09.2018

Я нашел это довольно легко. Просто зайдите к вам сетевые подключения. Вы можете перейти в Панель управления / Сеть и общий доступ. Вы найдете различные подключения. Найдите соединение Docker. Выберите, что когда-либо было по умолчанию. После выбора сети перейдите в Свойства. В разделе свойств включите параметр Расширяемый виртуальный коммутатор Hyper-V. Это поможет виртуальному контейнеру использовать сетевую карту.

person Ankush K    schedule 16.01.2019

Что для меня сделало (после нескольких часов проб и ошибок), так это изменение маски подсети с 255.255.255.240 на 255.255.255.0 (что не должно ничего менять).

В рамках метода проб и ошибок я сделал все остальное, перечисленное в статье, но безуспешно ... но этот последний шаг сделал это ... и возврат к 255.255.255.240 не прерывает хороший цикл.

Признаюсь, в этом нет смысла ... но это может быть связано с внутренним состоянием, которое вызывается только изменением сети.

В любом случае, если я помог только одному, то это того стоило.

Docker Desktop edge, 2.0.4.1 (34207)
person gimlichael    schedule 16.05.2019

У меня сработало включение опции расширяемого виртуального коммутатора Hyper-V. Другие решения у меня не сработали. Я сделал это, изменив конфигурацию в панели HyperV Virtual Switch Manager - DockerNAT - Extensions - Virtual Switch Extensions.

person CarloV    schedule 13.06.2019

Альтернативное решение! Я не уверен, как я решил эту проблему, но я думаю, что это помогло мне в следующем.

  • Откройте диспетчер Hyper-V
  • Выберите Virtual Switch Manager
  • Если несколько виртуальных коммутаторов называются DockerNAT, переименуйте один из них на любое другое имя.
  • Убедитесь, что DockerNAT имеет тип подключения Внутренняя сеть.
  • Кроме того, убедитесь, что все дубликаты имеют тип подключения «Внешняя сеть» и используют подключение Ethernet, а не беспроводное подключение (в раскрывающемся меню).
  • Нажмите ОК и закройте диспетчер Hyper-V.
  • Перезагрузите компьютер (на всякий случай дважды).
  • Теперь попробуйте поделиться диском для докера в Docker для Windows.
person Tord Bjørnevaagen Brandsæter    schedule 19.06.2019

Для меня единственное, что мне нужно было сделать, это временно отключить брандмауэр в Symantec Endpoint Protection. Поделитесь C-диском в графическом интерфейсе настройки докеров. Вернитесь и включите брандмауэр в Symantec. (нет команды PowerShell и т. д.)

введите здесь описание изображения

person otterb    schedule 15.07.2019

  1. откройте настройки брандмауэра защитника Windows в Windows.
  2. откройте ссылку "свойства брандмауэра защитника Windows"
  3. выберите вкладку личного профиля
  4. нажмите кнопку настройки «защищенных сетевых подключений»
  5. снимите флажок "vEthernet (DockerNAT)"
  6. вернитесь на рабочий стол докеров и примените общий ресурс

Изображение с пошаговыми инструкциями

person Reem Halevy    schedule 23.10.2019

Мое решение:

Я использую QuickHeal Antivirus, и, выполнив следующие действия, у меня сработало.

Шаг № 1. Перейдите в раздел «Защита брандмауэра»  Step1

Шаг № 2 Выберите дополнительные настройки  Step2

Шаг № 3. Найдите «Общедоступный» в столбце «Профиль сети» и включите параметр «Общий доступ к файлам и принтерам» Step3

person Hardik Raval    schedule 07.11.2019

Единственный способ заставить его работать - создать локального пользователя на моем ПК и использовать его для учетных данных при совместном использовании.

Дополнительная информация здесь: https://www.mattwoodward.com/2019/05/09/docker-on-windows-10-sharing-a-drive-when-logging-in-with-a-microsoft-account/

person PierekEast    schedule 09.01.2020

Ни одно из приведенных выше предложений не помогло мне, но удаление Docker Desktop (перезагрузка ПК) и переустановка Docked наконец решили проблему.

person Curtis    schedule 02.02.2020