首页/云/Docker 容器速查/docker compose port 查询端口映射
Compose 编排55 条

docker compose port 查询端口映射

查看某个服务端口映射到宿主机后的实际地址与端口:随机端口或端口冲突排查时用它确认最终结果。

Docker 容器速查云更新于 2026-10-13

查最终落到宿主的端口

compose 文件里写的映射未必就是最终结果:可能使用了随机端口,也可能被合并规则或环境变量改写。docker compose port 用来查询某个服务的端口在宿主上实际绑定的地址与端口,输出形如 0.0.0.0:8080。排查端口冲突、确认随机端口号、核对是否只绑定了回环地址,都用它拿结论,而不是回到编排文件里猜。

基本信息

语法docker compose port 服务 容器端口[/协议]
输出格式宿主地址:宿主端口
输出为空该端口没有发布到宿主机
前提项目定位正确,服务容器已创建

典型使用场景

  • 随机端口确认:编排文件里写 0 或短语法,启动后查真实端口
  • 端口冲突排查:确认最终绑定结果与预期是否一致
  • 外部不改通排查:看是不是只绑定到回环地址
  • 联调取端口:测试脚本启动后先查端口再拼访问地址
  • 发布核对:上线后确认映射与设计文档一致

查询与核对

查询与核对
# 查服务 80 端口映射到宿主的地址与端口
docker compose port web 80

# 显式指定协议
docker compose port web 80/tcp

# 随机端口场景:先启动再查询
docker compose up -d web && docker compose port web 80

# 与最终配置对照,确认没有被合并规则改写
docker compose config | grep -A5 ports

输出读法

输出示例含义注意
0.0.0.0:8080绑定全部地址的 8080外部可访问
127.0.0.1:8080只绑定本机回环外部访问不通,属设计行为
[::]:8080以 IPv6 形式绑定双栈环境两侧都要核对
无输出该端口没有发布检查编排文件与合并后的最终配置
端口定义分散在多个文件时,以 compose config 展开后的最终结果为准,查询端口前先确认最终配置更省时间。
服务还没启动时查询结果不可靠,先 up 或 start 再查。
一次只查一个端口,需要确认多项映射时把服务与端口的组合逐个传入,输出没有表头,脚本里要按固定格式解析。

易错点

  • 凭编排文件的字面值下结论:合并与覆盖规则会让实际映射不同,最终以 port 查询结果为准
  • 没启动就查询:容器不存在时拿不到结果,容易误判为没有配置映射
  • 忽略绑定地址:127.0.0.1 的映射从外部必然不通,确认绑定地址能省下一轮排查
  • 随机端口写进下游配置:每次重建端口都会变,下游要动态取值或改用固定端口

数据来源与参考

  • Docker 官方 CLI 参考:docker compose port(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌