我不得不让端口映射与我构建的一个码头实例一起工作。docker容器中的curl localhost显示应用程序工作正常,但是从主机返回的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标志公开了端口。我试过映射各种不同的端口,但是没有骰子。对我如何调试这个有什么想法吗?和/或端口映射的常见问题?
发布于 2015-12-04 20:45:54
如果您在容器外执行curl --它将无法工作。如果我正确地理解了您,那么您就有几个变体:
docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID -关于码头检查的更多信息。docker port $CONTAINER_NAME -关于码头港的更多信息。UPD #1
执行命令docker inspect -f '{{ .NetworkSettings.IPAddress }}' <CONTAINER_NAME>。它应该显示内部IP地址,然后尝试curl <IP_FROM_COMMAND>:<PORT>。
发布于 2022-02-05 03:58:11
除了@Yuri之外,还可以简单地使用命令:
docker ps它向您展示了有关容器的表格信息:
CONTAINER ID,IMAGE,COMMAND,CREATED,STATUS,PORTS,NAMES
然后,您就知道了以下命令的<CONTAINER_ID>:
docker port <CONTAINER_ID>
docker inspect <CONTAINER_ID>https://stackoverflow.com/questions/34096858
复制相似问题