我一直坚持让端口映射与我建立的docker实例一起工作。 docker容器中的n
显示应用程序正常工作,但来自主机的curl返回:
curl localhost
我已用* 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
标志显示该端口。我已经尝试过映射各种不同的端口以及什么不是骰子。
关于如何调试这个的任何想法?和/或端口映射的常见问题?
答案 0 :(得分:2)
如果你在容器外面做curl
- 它将无效。如果我理解正确,那么你有几种变体:
使用docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
命令 - 更多关于Docker Inspect。
使用docker port $CONTAINER_NAME
命令 - 更多关于Docker Port。
执行命令docker inspect -f '{{ .NetworkSettings.IPAddress }}' <CONTAINER_NAME>
。它应该显示内部IP地址,然后尝试curl <IP_FROM_COMMAND>:<PORT>
。