我如何debuggingdocker端口映射?

我坚持让端口映射与我build立的docker实例一起工作。 curl localhost在docker容器显示应用程序工作正常,但从主机curl返回:

 * Rebuilt URL to: 127.0.0.1/ * Hostname was NOT found in DNS cache * Trying 127.0.0.1... * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 127.0.0.1 > Accept: */* > * Empty reply from server * Connection #0 to host 127.0.0.1 left intact curl: (52) Empty reply from server 

我用-p标志暴露了端口。 我已经试过映射各种不同的端口,什么不是但不是骰子。 任何想法如何我可以debugging呢? 和/或端口映射的常见问题?

如果你在容器外面curl ,它将不起作用。 如果我正确理解你,那么你有几个变种:

  1. 使用命令docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID – 更多的在Docker检查 。

  2. 使用命令docker port $CONTAINER_NAME – 更多在docker端口 。

UPD#1

执行命令docker inspect -f '{{ .NetworkSettings.IPAddress }}' <CONTAINER_NAME> 。 它应该显示你的内部IP地址,然后尝试curl <IP_FROM_COMMAND>:<PORT>