为什么ping到docker容器返回;请求超时“;?
我有一个在本地计算机(docker for windows 10)上运行了很长时间的设置。最近我开始使用kubernetes,现在我的docker容器出现连接问题。我可以为什么ping到docker容器返回;请求超时“;?,docker,wsl-2,Docker,Wsl 2,我有一个在本地计算机(docker for windows 10)上运行了很长时间的设置。最近我开始使用kubernetes,现在我的docker容器出现连接问题。我可以docker exec bash,但是ping到cotainer ip不起作用 我不是100%确定路由是如何工作的 这是我目前拥有的路由: # route PRINT =========================================================================== Inter
docker exec bash
,但是ping到cotainer ip不起作用
我不是100%确定路由是如何工作的
这是我目前拥有的路由:
# route PRINT
===========================================================================
Interface List
5...8c 89 a5 59 d0 9b ......Realtek PCIe GbE Family Controller
14...00 ff 9a f5 da ac ......TAP-Windows Adapter V9
1...........................Software Loopback Interface 1
20...00 15 5d 1a 4c 88 ......Hyper-V Virtual Ethernet Adapter
35...00 15 5d d6 58 e9 ......Hyper-V Virtual Ethernet Adapter #2
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.0.138 10.0.0.15 35
10.0.0.0 255.255.255.0 On-link 10.0.0.15 291
10.0.0.15 255.255.255.255 On-link 10.0.0.15 291
10.0.0.255 255.255.255.255 On-link 10.0.0.15 291
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
172.16.0.0 255.240.0.0 192.168.65.0 10.0.0.15 36
192.168.172.32 255.255.255.240 On-link 192.168.172.33 5256
192.168.172.33 255.255.255.255 On-link 192.168.172.33 5256
192.168.172.47 255.255.255.255 On-link 192.168.172.33 5256
192.168.175.240 255.255.255.240 On-link 192.168.175.241 5256
192.168.175.241 255.255.255.255 On-link 192.168.175.241 5256
192.168.175.255 255.255.255.255 On-link 192.168.175.241 5256
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 10.0.0.15 291
224.0.0.0 240.0.0.0 On-link 192.168.172.33 5256
224.0.0.0 240.0.0.0 On-link 192.168.175.241 5256
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 10.0.0.15 291
255.255.255.255 255.255.255.255 On-link 192.168.172.33 5256
255.255.255.255 255.255.255.255 On-link 192.168.175.241 5256
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.16.0.0 255.240.0.0 192.168.65.0 1
===========================================================================
docker网络:
# docker network inspect myappjose_default
[
{
"Name": "myappjose_default",
"Id": "28ea26ea55b012d25397029e02bb2ddd442f725b310a5bbd1ff321e563d257c2",
"Created": "2020-10-16T07:21:52.6360039Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/24"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0c78b6eb1b88447e5690caeb90343dbe345e9e32cc407a60e18aa6cacec37f53": {
"Name": "myappj1-model-container",
"EndpointID": "a85c982c4cb982be6ee654aa3680c50229b3a89032ba9d7b1191e530c29564cf",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/24",
"IPv6Address": ""
},
"e1b518b64b4cdc2e18412c4d53eb3342d313a476c925e4e94529a81d3fa30993": {
"Name": "myappj1-view-container",
"EndpointID": "c4e373e05daf55f726823bccce0aec8faf5deaef6b0223e15e692352f46653f7",
"MacAddress": "02:42:ac:12:00:04",
"IPv4Address": "172.18.0.4/24",
"IPv6Address": ""
},
"eaa89d990ebcb8f3f26a1e5aff5db6f0ecddbf2e07c13bc52dbb57332818ad47": {
"Name": "myappj1-controller-container",
"EndpointID": "a0a35480e775bbab0e4a23819021751d4368b6d255ef519c89bc5ffd898441fb",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/24",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {
"com.docker.compose.network": "default",
"com.docker.compose.project": "myappjose",
"com.docker.compose.version": "1.27.4"
}
}
]
设置中的Docker网络:
ping不工作:
$ ping 172.18.0.4
Pinging 172.18.0.4 with 32 bytes of data:
Request timed out.
我可以使用docker exec
进入容器(因此它可以工作并且可以访问):
更新
它似乎与我本周安装的WSL2有关。docker正在使用wsl引擎,但wsl机器没有internet连接。我仍然不知道如何让它工作
知道怎么修吗?如果您需要更多信息,请告诉我,我将更新为什么向容器发送ICMP数据包很重要?Docker专用IP地址通常也不有用,在许多常见环境中无法访问。忽略所有这些非常低级的调试工具:您能否与容器的已发布端口建立HTTP(或其他TCP)连接?你能提供一个包含所有相关源代码的示例来演示这个问题吗?问题是我以前有一些东西,mysql workbench连接到控件,vscode通过端口22运行测试。它们现在都不工作了,因为无法访问容器。如果有帮助的话,它似乎与我本周安装的WSL2有关
$ winpty docker exec -it myappj1-model-container bash
root@myappj1-model:/#