Docker 网络详解
一、核心概念
容器之间、容器与宿主机的通信由 网络驱动 决定。Docker 默认提供多种网络模式:
二、主要网络模式
1. Bridge(默认桥接模式)
- 每个容器分配一个虚拟 IP;
- 同一网络下容器可通过名称互通;
- 默认网段通常为
172.17.0.0/16。
示例:创建自定义网络并连接容器
docker network create mynet
docker run -d --name web --network mynet nginx
docker run -d --name db --network mynet mysql:8.0
此时 web 可通过 db:3306 访问 MySQL。
2. Host(宿主机模式)
- 容器直接使用宿主机网络接口,无虚拟化;
- 网络性能最佳,但端口易冲突。
docker run --network host nginx
3. None(无网络模式)
- 容器无网络功能;
- 用于高安全隔离场景。
docker run --network none busybox
三、网络排查与实践技巧
docker network ls # 查看所有网络
docker network inspect mynet # 查看网络详情
docker network rm mynet # 删除自定义网络