插件窝 干货文章 docker怎么查看是否映射成功

docker怎么查看是否映射成功

端口 映射 Docker 容器 86    来源:    2025-05-03

Docker 端口映射检查方法

要检查 Docker 容器的端口映射是否成功,有几种常用方法:

1. 使用 docker ps 命令

docker ps

查看输出中的 "PORTS" 列,会显示类似 0.0.0.0:8080->80/tcp 的映射信息,表示主机 8080 端口映射到容器的 80 端口。

2. 使用 docker inspect 命令

docker inspect <容器ID或名称> | grep -i port

或者更精确地查找端口映射:

docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' <容器ID或名称>

3. 使用 docker port 命令

docker port <容器ID或名称>

这会显示容器端口到主机端口的映射关系。

4. 实际网络测试

检查映射是否真正工作:

  • 对于 TCP 端口:

    telnet localhost <主机端口>
    

    curl http://localhost:<主机端口>
    
  • 对于 UDP 端口:

    nc -u localhost <主机端口>
    

5. 检查主机监听端口

netstat -tulnp | grep <端口号>

ss -tulnp | grep <端口号>

常见问题排查

  1. 映射显示正常但无法访问

    • 检查防火墙设置
    • 确认容器内服务确实在运行
    • 检查服务是否绑定到正确的容器IP(通常应为 0.0.0.0)
  2. Windows/Mac 用户

    • 注意 Docker Desktop 使用虚拟机,localhost 可能不适用
    • 使用主机IP或特殊域名 host.docker.internal
  3. 端口冲突

    • 确保主机端口未被其他进程占用

希望这些方法能帮助您确认 Docker 端口映射是否成功!