我正在开发要在Docker中运行的ASP.NET Core应用程序。在开发过程中,我希望容器连接到在我的开发机器(也是我的docker主机)上运行的SQLEXPRESS。但是,据我所知,容器根本无法到达主机。我无法连接到SQL或从容器ping主机IP。我可以在主机上本地运行该应用程序,并可以很好地连接到SQL Server,因此我怀疑是否可以在可以从容器ping主机的位置获得它,也可以连接到SQL。
主机在主适配器上的IP为10.0.0.5,在“ HNS Internal NIC”上的IP为172.30.96.1,我认为这是Docker使用的主机。
为了测试基本连通性,我尝试从容器内部ping:
docker exec -i containername cmd
c:\app ping 10.0.0.5
Request timed out
c:\app ping 172.30.96.1
Request timed out
Run Code Online (Sandbox Code Playgroud)
基于一些类似的帖子,我也尝试连接到“主机”网络,但是,此版本的docker显然不可用。我怀疑这对于Linux来说更多:
docker run --net="host" ...
network host not found.
Run Code Online (Sandbox Code Playgroud)
我还发现了类似的Windows 10帖子,其中建议使用“透明”网络。有了这个网络,我无法连接或断开连接:
docker network create --driver transparent trans --gateway 10.0.0.1 --subnet 10.0.0.1/16
docker run --net=trans ...
docker exec -i containername cmd
c:\app> ipconfig
IPv4 address: 10.0.205.104
c:\app> ping 10.0.0.5
Request timed out
c:\app> exit
ping 10.0.205.104
Request timed out
Run Code Online (Sandbox Code Playgroud)
这是我的码头工人信息:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 10
Server Version: 17.03.2-ee-5
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: l2bridge l2tunnel nat null overlay transparent
Log:
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 14393 (14393.1593.amd64fre.rs1_release.170731-1934)
Operating System: Windows Server 2016 Datacenter
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 8GiB
Name: danielsdev5
ID: XLTN:PBAQ:BU7C:BMR6:O2VJ:DQKQ:P7TY:6QR7:NWEI:GEIF:OFND:ZVFE
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |