设置为Windows防火墙以允许Docker for Windows共享驱动器

Rib*_*eye 121 docker docker-for-windows

Windows防火墙阻止了我允许Docker for Windows在Windows 10计算机上共享C:的尝试.

Windows防火墙关闭时工作正常.当我得到它

防火墙阻止Windows和容器之间的文件共享.有关详细信息,请参阅文档

文件说

您无需在任何其他网络上打开端口445.默认情况下,允许从10.0.75.2(虚拟机)连接到10.0.75.1端口445(Windows主机).

我试图找到如何做到的"谷歌搜索" - 有人可以建议吗?

Dav*_*sar 136

您实际上不需要共享C驱动器,只需重新安装(或甚至可能取消选中 - 单击"确定" - 然后检查)Hyper-V虚拟网卡上的"文件和打印"共享服务. 看到这篇文章.

此外,如果您的网络配置文件(即公共)有限制,请考虑在执行上述操作之前,通过此PowerShell命令将"vEthernet(DockerNAT)"卡的默认"未识别网络"更改为私有:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Run Code Online (Sandbox Code Playgroud)

  • 我无法卸载它,我收到错误“0x80071779”,我尝试禁用 -> 启用。防火墙也被禁用了......我也尝试设置为私有,仍然无法正常工作,有什么想法吗? (3认同)
  • 运行上面的Powershell命令后,我必须关闭Docker for Windows并重新启动它。您可以运行“ Get-NetConnectionProfile”以确保“ DockerNAT”网络位于“私有”类别中。 (2认同)
  • 不幸的是,这些都不对我真正起作用。 (2认同)
  • 卸载文件和打印共享服务:`Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server` (2认同)

小智 65

好的,所以在运行同一个问题后,我找到了一个解决方案.

这就是我做的:


第1步:打开ESET.然后单击" 设置"

点击设置

第2步:单击网络保护

点击网络保护

第3步:单击故障排除向导

单击故障排除向导

步骤4:查找通信10.0.75.2(默认泊坞窗IP设置) 只需检查泊坞窗设置中的IP范围.然后寻找驻留在该范围内的IP.

找到连接

第5步:单击" 取消阻止"按钮,然后您将收到此屏幕.

点击取消阻止

这为我自己解决了这个问题.

然后,您可以转到规则并检查添加的规则.


PS:这是我的第一篇文章,对于任何不正确的程序感到抱歉.

  • 对于那里的所有ESET用户,**这个**是解决方案,谢谢! (10认同)
  • 感谢 Franche Van Den Berg 的出色贡献。这确实是 ESET 用户的解决方案,而且非常优雅。 (2认同)

kos*_*a24 52

只有这个解决方案帮助我:

  • 转到Hyper-V管理器 - >虚拟交换机管理器 - > DockerNAT - >连接类型:从内部更改为私有,应用,更改回内部,应用
  • 重启MobyLinuxVM
  • 重启Docker
  • 将Docker网络配置文件设置为"私有" Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • 在DockerNAT连接上重置Microsoft网络的文件和打印机共享
  • 转到Docker - >设置 - >共享驱动器并共享C:

  • 值得注意的是,"Set-NetConnectionProfile"将作为管理员在PowerShell中运行,而不是普通的Cmd.它适用于我,但以太网适配器仍然是"未识别的网络" (5认同)
  • 地毯炸弹FTW。其他解决方案均无效。谢谢。 (2认同)

ian*_*naz 45

我的解决方案是断开与VPN的连接; 这导致了这个问题

  • 这个.Docker与工作VPN不兼容. (10认同)
  • 在与 VPN 断开连接后,我也解决了这个问题,当然,直到用尽所有其他可能性我才尝试。*叹* (2认同)

jim*_*kiz 27

遇到此错误时,我没有使用任何第三方防火墙.我确信这是一个Windows防火墙问题,虽然禁用Windows防火墙对我不起作用.经过大量研究后我终于找到了这篇博文:Windows 10上的Docker错误:防火墙阻止文件共享...

它结束了具有内置的Windows防火墙做.

修复

  1. vEthernet(DockerNAT)网络适​​配器取消选中Microsoft网络的文件和打印机共享(您可以在Windows 网络和共享中心中找到该连接).
  2. 重新检查它并确保它已启用.


小智 21

在最近的Windows 10更新后,我的C驱动器停止与Docker共享.我遇到了同样的问题,说它在尝试转发时被Windows防火墙阻止了.

通过以上解决方案,我发现了一些对我有用的东西,比我在本页面上看到的任何东西都简单.在控制面板\所有控制面板项\网络和共享中心,在vEthernet(DockerNAT)连接上,我取消选中Microsoft网络的属性文件和打印机共享并保存设置.然后我再次检查了该属性以重新启用它并再次保存.

此时,我能够在Docker设置中转发C盘.我不知道为什么会这样,但它不是防火墙问题,已经有DockerSmbMount的条目.


Bar*_*oyd 15

卡巴斯基遇到了这个问题; 关闭卡巴斯基工作,所以我知道这是防火墙.就我而言,卡巴斯基出于某种原因已经阻止了445端口.我不得不转到防火墙,本地服务(TCP)的数据包规则,并从块端口列表中删除445.

图片1

图2


mza*_*ora 10

对于域网络上的Windows 10计算机,在创建Hyper-V虚拟以太网适配器时,它将被归类为公用网络。您必须将其更改为专用网络,以允许使用更为宽松的Windows防火墙规则,从而允许文件共享。

在PowerShell中运行以下命令:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Run Code Online (Sandbox Code Playgroud)

如果您的计算机的虚拟Hyper-V网络连接被称为其他名称,请更改引号中的名称。


Ara*_*our 9

我的问题是Cisco Anyconnect VPN干扰了内部docker网络

要解决此问题,请转到:
Cisco Anyconnect设置>首选项>检查Allow local (LAN) access when using VPN


Max*_*Ast 6

如另一个答案所述,Docker在VPN上表现不佳。如果您使用的是Nordvpn,则必须禁用“ LAN上的隐形”,并且可能禁用“ Internet Kill Switch”

如果这样做,即使在VPN处于活动状态时,它也应能正常工作。

NordVPN客户端

  • 谢谢!这为我解决了。我被困了两个星期! (2认同)
  • 谢谢!4小时后终于解决了。 (2认同)

Rey*_*rPM 5

这取决于您安装的防火墙.在我的情况下,我确实禁用了内置的Windows防火墙,我正在使用ESET Smart Security,所以我的规则如下:

  • IN连接创建规则,因为您应该允许Docker连接到您的主机并将其设置为Allow

在此输入图像描述

  • 正确设置端口,如文档中所述445:

在此输入图像描述

  • 设置远程IP地址:

在此输入图像描述

也许这不是答案,因为它与Windows防火墙无关,但可以为您提供有关如何操作的线索.


小智 5

就我而言,我在具有高级安全性的 Windows Defender 防火墙上禁用了“阻止 TCP 445” ,并且它起作用了。然后在 Docker 上设置共享驱动器后再次启用它。

块 TCP 445 的设置

共享驱动器的设置