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
解决了这个问题。