1. Docker网络基础架构解析
Docker网络本质上是通过Linux内核的网络命名空间(Network Namespace)实现的隔离环境。每个容器启动时,默认会创建一个独立的网络命名空间,这就好比给每个容器分配了一间带独立网络设备的房间。
默认安装Docker后,执行docker network ls会看到三个预置网络:
- bridge:默认网络驱动,适合单机部署
- host:直接使用宿主机网络栈
- none:完全隔离的网络环境
重要提示:生产环境中切勿直接使用默认bridge网络,存在端口冲突风险且缺乏DNS解析功能。建议始终为应用创建自定义网络。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 五种核心网络模式实战
2.1 Bridge模式深度配置
创建自定义bridge网络的正确姿势:
bash复制docker network create --driver bridge \
--subnet 172.28.0.0/16 \
--gateway 172.28.0.1 \
--opt com.docker.network.bridge.name=my_network \
my_bridge_net
关键参数解析:
--subnet:必须指定不与现有网络冲突的私有IP段--gateway:通常设为子网第一个可用IP--opt:为网桥指定易识别的名称(默认是随机生成的dockerXXX)
实测案例:将Nginx容器接入自定义网络
bash复制docker run -d --name web \
--network my_bridge_net \
-p 8080:80 \
nginx:alpine
2.2 Host模式性能对比
直接使用宿主机网络的性能测试数据:
| 网络模式 | 延迟(ms) | 吞吐量(Gbps) | CPU占用 |
|---|---|---|---|
| bridge | 0.12 | 2.1 | 8% |
| host | 0.05 | 3.8 | 3% |
适用场景:高性能要求的网络服务(如视频流服务器),但牺
