首页/云/Docker 容器速查/docker port 查看端口映射
基础命令50 条

docker port 查看端口映射

查容器端口在宿主上的映射结果:不发布任何端口的容器输出为空,指定容器内端口可只看一条映射。

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

docker port 是什么

docker port 查询容器端口在宿主上的映射结果:没有发布端口的容器输出为空,指定容器内端口可以只看一条映射。读取的是容器创建时确定的映射关系,运行中无法追加,因此它也是判断“要不要重建容器”的依据。

基本信息

用途查询端口映射关系
语法docker port CONTAINER [容器内端口[/协议]]
对应关系-p 宿主端口:容器端口 的后半段
输出为空说明创建时没有发布端口
批量查看docker ps --format '{{.Ports}}'

典型使用场景

  • 部署后确认映射是否符合预期,宿主端口有没有写错
  • 排查访问不通:先确认有没有映射,再看宿主监听与应用绑定地址
  • 用随机映射(-P)启动后查出实际分配到的端口
  • 核对多个服务之间的端口是否冲突
  • 出问题时提供准确的访问地址给同事或测试人员
  • 评估是否要重建容器来补映射(运行中无法追加)

示例

示例
docker port web                                # 列出全部映射
docker port web 80/tcp                          # 只看 80 端口的映射
docker ps --format '{{.Names}} {{.Ports}}'       # 批量查看映射
docker inspect -f '{{json .NetworkSettings.Ports}}' web    # 查看原始映射结构

映射问题的排查顺序

步骤命令判断依据
有没有映射docker port 容器输出为空说明创建时没发布端口
宿主是否监听在宿主执行 ss -ltnp无监听说明映射未生效
绑定地址查看映射输出里的地址0.0.0.0 与 127.0.0.1 范围不同
容器内应用监听容器内查看监听状态只监听回环时外部访问不到
防火墙与安全组按宿主端口核对规则未放行时连接被拒
输出为空通常表示创建时没有发布端口,补映射必须重新创建容器,运行中的容器无法追加。
映射输出里的绑定地址很关键:0.0.0.0 对所有网卡开放,127.0.0.1 只有本机可访问,外部访问不通时先看这一项。
容器内应用只监听回环地址时,即使做了端口映射外部也访问不到,把监听地址改成所有网卡后才生效。

易错点

  • 发现没有映射就反复重启容器:映射在创建时固定,必须用带 -p 的参数重新创建才有效
  • 只看宿主端口不看绑定地址,把 127.0.0.1 的映射当成对外可用,实际外部访问不到
  • 宿主端口被占用导致容器启动失败,报错指向绑定失败,先确认端口占用情况
  • 改了应用监听端口却没同步改映射,宿主端口指向没有进程监听的容器端口,连接直接被拒

数据来源与参考

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