docker run的端口号
时间: 2025-01-21 11:44:44 浏览: 44
### 如何在 `docker run` 中设置端口映射
#### 使用 `-p` 参数进行具体端口映射
当启动 Docker 容器时,可以使用 `-p` 参数来进行具体的端口映射。此参数允许指定主机上的特定端口以及容器内的对应端口。
例如,要将宿主机的 80 端口映射到 Nginx 容器内部的 80 端口,可执行如下命令:
```bash
docker run -d -p 80:80 nginx
```
这表示任何发送至宿主机 IP 地址上 80 端口的数据包都会被转发给该 Nginx 容器监听于其自身的 80 端口的服务[^1]。
#### 映射多个端口
如果需要为同一个容器配置多组不同的端口映射,则可以在一次 `docker run` 命令中多次添加 `-p` 参数。比如下面的例子展示了如何把两个不同服务分别暴露在外网可见的不同端口中:
```bash
docker run -d \
-p 80:80 \
-p 443:443 \
some-app-image
```
这里不仅开放了 HTTP (80),还额外启用了 HTTPS (443) 访问路径[^4]。
#### 指定本地IP地址绑定
有时可能希望只让某些接口通过特定网络接口访问;这时可以通过在 `-p` 后面加上完整的 `<host-ip>:<host-port>:<container-port>` 形式的字符串来实现这一点。这样做的好处是可以更精确地控制流量路由方向。
例如,假设服务器有多个网卡,并且想要确保外部只能经由某个固定的内网 IP 来触及应用的话,就可以这样做:
```bash
docker run -it -p 192.168.10.10:8000:80 busybox
```
上述指令会使得只有来自 `192.168.10.10` 的请求能够到达 BusyBox 容器里的 Web Server 进程所占用的那个 80 号端口[^2]。
#### 验证端口映射是否生效
创建并运行带有自定义端口映射规则的新实例之后,可通过 `docker inspect <CONTAINER_NAME_OR_ID>` 查看实际效果。特别关注返回 JSON 数据结构下的 `"HostConfig"` 字段下是否有预期中的 "PortBindings" 设置项存在[^3]。
阅读全文
相关推荐


















