我正在运行 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
但这似乎无法解决问题。
问题出在 VPN 客户端 - 即使它们引用本地主机,它也会重新路由请求。停止 VPN 可以解决问题。