什么是 Docker Port 映射?
在使用 Docker 运行容器时,容器内部的服务默认无法从宿主机外部访问。
通过 -p 或 --publish 参数,可以将容器内的端口映射到宿主机的某个端口上,实现外部访问。
基本语法
docker run -p [宿主机端口]:[容器端口] [镜像名]
示例:
docker run -p 8080:80 nginx
这表示将宿主机的 8080 端口映射到容器的 80 端口,访问 http://localhost:8080 即可看到 Nginx 欢迎页。
常见用法
- 指定协议:默认为 TCP,也可显式指定 UDP,如
-p 5000:5000/udp - 仅绑定特定 IP:如
-p 127.0.0.1:8080:80仅允许本地访问 - 自动分配宿主机端口:省略宿主机端口,如
-p 80,Docker 会随机分配一个高端口
查看端口映射
使用以下命令查看容器的端口映射情况:
docker port [容器ID或名称]
注意事项
- 宿主机端口不能被其他程序占用
- 多个容器不能同时映射到同一个宿主机端口
- 生产环境中建议明确指定端口,避免安全风险