Docker端口转发:连接超时

Docker port forwarding: connection timed out

我正在使用 nginx:alpine Docker 图片,运行 是这样的:

c@makina ~> docker run -itp 8000:80 nginx:alpine

端口在 lsof 中显示为侦听:

c@makina ~> sudo lsof -i :8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 3653 root 4u IPv4 2025067 0t0 TCP *:8000 (LISTEN)

但是,当我尝试访问它时,出现连接超时:

c@makina ~> http :8000 http: error: Request timed out (30s).

启动另一个带有 link 的容器到 nginx 容器允许我访问它,但是:

c@makina ~> docker run -it --link ${CONTAINER_ID}:nginx alpine:3.6 /bin/sh / # curl -s -D - -o /dev/null http://nginx/ HTTP/1.1 200 OK ...

docker0 网桥(以及 br-* 网桥和 veth* 接口)在主机上启动,并且 lo 和 eth0 在 nginx 容器中启动。

主机上的防火墙被禁用:

root@makina /h/c# service iptables status * status: stopped

有什么想法吗?

我发现问题是环回接口没有启动。将它添加到 /etc/network/interfaces 和 运行 ifup lo 解决了这个问题。