docker没有dockerport命令,端口映射通过docker run -p配置,docker port命令查看已运行容器的端口绑定,如docker port nginx查看所有映射,docker port nginx 80查指定端口,输出0.0.0.0:8080->80/tcp表示宿主机8080映射容器80端口。

实际上 Docker 没有叫 DockerPort 的官方命令或工具。你可能混淆了概念——Docker 本身通过 -p(publish)或 --publish 参数配置端口映射,用 docker port 命令查看已运行容器的端口映射关系。
如何查看容器的端口映射
docker port 是专门用于查询容器端口绑定情况的子命令,适用于已启动的容器:
- 查看某容器所有映射端口:
docker port - 只查某个内部端口(如 80)映射到宿主机的地址和端口:
docker port 80 - 示例输出:
0.0.0.0:8080->80/tcp表示宿主机 8080 端口转发到容器 80 端口
启动时配置端口映射的常用方式
使用 docker run -p 是最直接的方法,支持多种写法:
-
-p 8080:80:宿主机 8080 → 容器 80(默认绑定 0.0.0.0) -
-p 127.0.0.1:3000:3000:仅本机访问,不对外暴露 -
-p 8080-8090:80-90:端口范围映射(需容器内对应端口也开放) -
-P(大写):自动映射容器EXPOSE声明的所有端口(随机分配宿主机高位端口)
检查端口是否生效的实用技巧
映射后不一定能立即访问,建议按顺序排查:
- 确认容器正在运行:
docker ps - 确认端口已映射:
docker port - 检查宿主机防火墙是否放行该端口(如 Ubuntu 的 ufw、CentOS 的 firewalld)
- 从宿主机用
curl http://localhost:8080测试;若失败,进容器查服务是否监听0.0.0.0:80而非127.0.0.1:80
用 docker-compose 管理端口映射
在 docker-compose.yml 中通过 ports 字段声明,更易维护:
services:
web:
image: nginx
ports:
- "8080:80"
- "127.0.0.1:3001:3000"
启动后同样可用 docker port 查看,且 docker-compose ps 会显示端口列。










