Docker端口转发:连接超时

我正在使用nginx:alpine Docker镜像,像这样运行它:

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

该端口显示为正在侦听:

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).

然后启动另一个带有指向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- * bridge和veth *接口)位于主机上,lo和eth0都在nginx容器中。

防火墙在主机上被禁用:

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

有任何想法吗?

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