代码之家  ›  专栏  ›  技术社区  ›  SledgeHammer

Windows 10 Docker容器客户端无法访问主机上的SQL

  •  1
  • SledgeHammer  · 技术社区  · 6 年前

    设置为:

    Windows 10 Pro 64 bit
    All Hyper-V and Container features turned on
    Full Sql Server, standard port 1433
    Visual Studio 2017
    Docker Community Edition Version 18.03.1-ce-win65 (17513)
    Stock Windows 10 Firewall rules and security Polices
    No additional anti-virus or security
    

    我在VS2017中构建了一个POC.net Core2.1服务,增加了docker支持。出于测试目的,我正在尝试从服务连接到Sql Server。我知道它在自己的私人网络中运行。当我在docker之外独立运行服务时,它会连接到Sql fine,所以一切正常。在容器内部它无法连接。我正在指定vEthernet(nat)的IP。

    如果我关闭了Windows防火墙,它就可以连接。当我打开防火墙日志记录时,我可以看到数据包被丢弃。

    在“网络和共享”中,“我的电脑”显示在“网络/专用网络”组中,“虚拟机网络”(默认交换机)和“虚拟机网络”(nat)显示在“未标识/专用网络”组中。访问类型为“无网络访问”。

    我的电脑通过wi-fi路由器连接到互联网,所以我不想打开一个很大的安全漏洞,但我希望容器能够连接。

    我无法指定容器的IP,因为它是动态的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Stephen Rauch Afsar Ali    6 年前

    也许,Hyper-V没有连接到本地服务器。打开Hyper-V管理器并连接到服务器。。。