我正在运行 Ubuntu 18.04 LTS。
> docker-version
Docker version 18.06.0-ce, build 0ffa825
我跑:
> docker run --name my-nginx-1 -P -d nginx
> docker port my-nginx-1
80/tcp -> 0.0.0.0:32770
> wget 0.0.0.0:32770
--2018-07-30 05:29:38-- http://0.0.0.0:32770/
Connecting to 0.0.0.0:32770... connected.
HTTP request sent, awaiting response...
它从未得到响应。如果我在 OSX 上运行它,则会返回 200 OK。
sudo netstat -ntlp | grep LISTEN
没有显示在端口 32770 上监听的进程。我看到一个 ':::32770' 条目,表明 docker 正在影响 ipv6,但是,基于https://github.com/moby/moby/issues/2174,我在/etc/default/grub中添加了以下内容:
GRUB_CMDLINE_LINUX="ipv6.disable=1
但它似乎不能解决问题。
答案1
问题出在 VPN 客户端上 - 即使请求指向本地主机,它也会重新路由请求。停止 VPN 即可解决问题。