← 返回文章列表
033 — 后端 · #Docker #网络 · 2026-08-15 · 2 MIN READ
Docker 网络模式实践:从 bridge 到 host
在只有 2 核 2G 的服务器上跑多个容器,网络模式选错了,后面排查问题会非常痛苦。这篇文章记录我在部署博客 + AI 后端时的完整取舍过程。
四种网络模式速览
Docker 提供 bridge、host、none、container 四种基础模式。对单机部署而言,真正需要纠结的只有前两个:bridge 隔离性好但需要端口映射,host 性能最好但牺牲隔离。
bridge 模式实践
默认的 bridge 模式下,容器通过 docker0 网桥与宿主机通信。我的 FastAPI 后端运行在 bridge 网络中,只暴露 8000 端口给 Nginx 反代:
bash
# 创建自定义 bridge 网络,容器间可用服务名互访
docker network create blog-net
docker run -d --name api --network blog-net \
-p 127.0.0.1:8000:8000 \
kalpa-api:latest
注意我把端口绑定在 127.0.0.1 上,这样外网无法绕过 Nginx 直接访问后端,这是一个常被忽略的安全细节。
什么时候用 host
只有一个场景值得用 host:对网络性能极度敏感且单机只跑一个服务。我的博客场景容器间通信不多,bridge 的少量 NAT 开销完全可接受,隔离性换来的是半夜不会被端口冲突叫醒。
- 多容器、需要隔离:选自定义 bridge 网络
- 极致性能、独占机器:才考虑 host
- 无论什么模式,端口只绑定
127.0.0.1
Comments