在 Docker 中查看端口号有几种常用方法,以下是详细的查询方式:
docker ps
命令这是最常用的查看容器端口映射的方法:
docker ps
输出示例:
CONTAINER ID IMAGE COMMAND PORTS NAMES
a3b8d9e1f2c5 nginx:latest "nginx -g 'daemon of…" 0.0.0.0:8080->80/tcp, :::8080->80/tcp web_server
其中 PORTS
列显示 主机端口->容器端口
的映射关系。
docker port
命令查看特定容器的端口映射:
docker port <容器ID或名称>
示例:
docker port a3b8d9e1f2c5
# 或
docker port web_server
docker inspect
命令获取更详细的端口信息:
docker inspect <容器ID或名称> | grep -i port
或查看完整的网络设置:
docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' <容器ID或名称>
进入容器内部查看:
docker exec -it <容器ID或名称> netstat -tuln
# 或
docker exec -it <容器ID或名称> ss -tuln
docker network inspect bridge
如果使用 Docker Compose:
docker-compose ps
# 或
docker-compose port <服务名> <容器端口>
主机端口:容器端口
PORTS
列为空,表示没有设置端口映射-P
参数运行容器时,Docker 会随机分配主机端口-p
参数可以指定端口映射,如 -p 8080:80
希望这些方法能帮助您查询 Docker 中的端口信息!