Docker 提供多个端口映射的能力主要是为了满足以下几个关键需求,这些需求在实际开发和运维场景中非常常见:
bash
docker run -p 80:80 -p 443:443 -p 8080:8080 nginx
80(HTTP)、443(HTTPS)、8080(管理面板)分别映射到宿主机。80),而其他端口仅用于内部服务间通信(如数据库端口 3306)。9229 用于 Node.js 调试)。9090)或 Grafana(3000)等监控工具的端口。80)和 HTTPS(443)。8080 替代 80)。8001、8002),再通过反向代理(如 Nginx)分发流量。8080),而生产环境用 80 和 443。运行一个同时提供 Web 和数据库的容器:
docker run -p 80:80 -p 5432:5432 my_app
80:外部用户访问 Web 界面。5432:其他容器或内部服务访问数据库。-p 8080 让 Docker 自动分配宿主机端口(可通过 docker ps 查看)。通过多端口映射,Docker 提供了极大的灵活性,适应从开发到生产的各种复杂场景。