docker port 命令用于查询运行中容器的端口映射关系,需容器启动时使用 -p 或 --publish 显式声明;语法为 docker port 查指定端口,省略端口参数则列出全部映射;配合 docker ps 可快速核对全局映射状态。

直接用 docker port 命令就能查出容器端口映射关系,它不配置、不修改,只告诉你“当前映射到哪”。关键前提是:容器必须正在运行,且启动时用了 -p 或 --publish 显式声明了端口映射。
查单个容器的指定端口映射
语法是 docker port /,比如:
-
docker port nginx 80/tcp→ 输出0.0.0.0:8080->80/tcp,表示宿主机所有网卡的 8080 端口转发到容器 80 端口 -
docker port api-server 3000→ 输出127.0.0.1:3001->3000/tcp,说明只允许本机访问 - 如果没映射这个端口,命令不会报错,但输出为空
查容器所有已映射端口
省略端口参数,直接查整个容器:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
-
docker port nginx→ 列出该容器所有-p映射的端口对,例如:80/tcp -> 0.0.0.0:8080443/tcp -> 0.0.0.0:8443 - 适用于快速确认是否漏配、多配或绑错 IP
配合 docker ps 快速定位
docker ps 的 PORTS 列会直接显示简略映射,适合一眼扫清全局:
- 运行
docker ps --format "table {{.Names}}\t{{.Ports}}"可整齐列出容器名和映射 - 看到类似
0.0.0.0:5000->5000/tcp就等同于docker port 容器名 5000的结果 - 如果 PORTS 列为空或显示
-,说明没做端口映射,docker port也查不到
常见映射失败原因与验证建议
查到端口不等于能访问,顺手验证几项更稳妥:
- 确认容器里服务监听的是
0.0.0.0:80,不是127.0.0.1:80(后者外部连不上) - 检查宿主机防火墙是否放行,如
ufw status或firewall-cmd --list-ports - 从宿主机执行
curl http://localhost:8080,看是否返回响应 - 若用
-P启动,映射端口是随机分配的,必须靠docker port或docker ps查具体数字










