要检查 Docker 容器的端口映射是否成功,有几种常用方法:
docker ps
命令docker ps
查看输出中的 "PORTS" 列,会显示类似 0.0.0.0:8080->80/tcp
的映射信息,表示主机 8080 端口映射到容器的 80 端口。
docker inspect
命令docker inspect <容器ID或名称> | grep -i port
或者更精确地查找端口映射:
docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' <容器ID或名称>
docker port
命令docker port <容器ID或名称>
这会显示容器端口到主机端口的映射关系。
检查映射是否真正工作:
对于 TCP 端口:
telnet localhost <主机端口>
或
curl http://localhost:<主机端口>
对于 UDP 端口:
nc -u localhost <主机端口>
netstat -tulnp | grep <端口号>
或
ss -tulnp | grep <端口号>
映射显示正常但无法访问:
Windows/Mac 用户:
host.docker.internal
端口冲突:
希望这些方法能帮助您确认 Docker 端口映射是否成功!