
mmp@LAPTOP-ME3EJSM5:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 260453d57ed9 31aa730a8cc1 "./Server " 12 minutes ago Up 12 minutes 0.0.0.0:5000->5000/tcp flamboyant_boyd 然后无法访问 5000 端口,显示
该网页无法正常运作 localhost 未发送任何数据。 ERR_EMPTY_RESPONSE
该从哪个方向去查原因
1 zxCoder OP docker 是在 WSL2 里 从 WSL 里似乎可以访问端口,但是外部浏览器不行 ``` mmp@LAPTOP-ME3EJSM5:~$ telnet localhost 5000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. ``` |
2 whitelee8080 2021-04-14 13:38:39 +08:00 看下防火墙 5000 端口是否对外开发。 |
3 jjianwen68 2021-04-14 13:47:48 +08:00 是不是要查查这个 container 启动用的 network |
4 abersheeran 2021-04-14 13:49:20 +08:00 我也遇见过,各种操作都没搞定,还找了公司里的大佬,都没搞定。后面直接重装了一次系统就好了。我和大佬都猜测是那个机子(新装的系统)防火墙有问题,没办法正常转发。 另,你把 network 模式改成 host 试试。当时我那个情况下改成这个就可以正常了。不过用起来不爽所以重装了系统。 |
5 zxCoder OP 心态崩了 一整天代码没碰几行 光是搞个环境就快下班了 |
6 zxCoder OP @whitelee8080 @jjianwen68 @abersheeran 请教一个问题,如果 docker 启动容器绑定端口,docker ps 能显示绑定的端口,而 lsof -i 有对应显示 docker 进程吗? |
7 zxCoder OP @zxCoder 试了一下 直接在 WSL 里启动服务,windows 是可以访问对应端口的,如果用 docker 就不行了,不知道绑定端口哪个地方出错了 |
8 handsomeroger 2021-04-14 15:02:11 +08:00 执行一下这个命令 看看回显是什么 |
9 handsomeroger 2021-04-14 15:03:24 +08:00 sysctl net.ipv4.ip_forward 看看回显是什么 如果 net.ipv4.ip_forward 是 0 的话 echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf sysctl -p /usr/lib/sysctl.d/50-default.conf 看看能解决吗 |
10 Acoffice 2021-04-14 15:17:34 +08:00 这种可能是 iptables 规则被改动了吧,正常重启 docker 服务或者重启机器能恢复. |
11 PerFectTime 2021-04-14 15:23:27 +08:00 服务器安全组开了吗 |
12 PerFectTime 2021-04-14 15:23:57 +08:00 另外试一下 127.0.0.1 |
13 zxCoder OP @handsomeroger 是 1 |
14 ztxcccc 2021-04-14 15:43:48 +08:00 有些软件域名如果是 localhost/127.0.0.1 进 docker 会有问题,换四个零试试 |