Hyper-V + Ubuntu。无法连接到容器从主机[关闭]打开的端口[]

问题描述 投票:0回答:1

[当我尝试通过docker向来宾开放访客端口时:

docker run --rm -ti -p 8000:8000 python:3.7.5-slim python3 -m http.server --bind 0.0.0.0 8000

在主机上,我无法连接到该端口:

curl 172.17.246.23:8000 curl: (28) Failed to connect to 172.17.246.23 port 8000: Timed out

如果我这样暴露端口:

python3 -m http.server --bind 0.0.0.0 8000

一切正常:

$ curl 172.17.246.23:8000 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

ip a容器启动时输出的命令:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:38:01:01 brd ff:ff:ff:ff:ff:ff inet 172.17.246.23/28 brd 172.17.246.31 scope global dynamic eth0 valid_lft 86353sec preferred_lft 86353sec inet6 fe80::215:5dff:fe38:101/64 scope link valid_lft forever preferred_lft forever 3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:b7:82:d9:97 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:b7ff:fe82:d997/64 scope link valid_lft forever preferred_lft forever 11: veth932623a@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 5e:05:c1:47:10:4b brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet6 fe80::5c05:c1ff:fe47:104b/64 scope link valid_lft forever preferred_lft forever

我想念什么?

谢谢!

我在Windows 10的hyper-v下安装了ubuntu服务器18.04,虚拟交换机为“默认交换机”。访客的IP地址是172.17.246.23。 Ubuntu已安装docker 19.03.8。当我尝试暴露...

linux docker hyper-v
1个回答
0
投票
通过在本教程中创建NAT交换机来解决此问题:https://medium.com/@mdavis332/hyper-v-nat-w-linux-vm-1d245be6ded1然后使用此开关和接口的手动IP地址将linux重新安装到新的VM中。
© www.soinside.com 2019 - 2024. All rights reserved.