Docker2026-04-15·8 分钟
Docker 高级网络与互联
介绍 Docker 高级网络模式、跨主机互联和网络排查技巧。
Docker 高级网络与互联
1. 网络模式概览
- bridge:默认隔离网络。
- host:共享宿主主机网络。
- none:无网络。
- overlay:跨主机网络,适用于 Swarm 或 Kubernetes。
2. 自定义 bridge 网络
bash
docker network create app-net- 自定义桥接网络便于容器通过名称互联。
docker run --network app-net --name web ...
3. macvlan 与裸机访问
bash
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 macvlan-net- 适合需要容器直接访问物理网络的场景。
- 需注意网络隔离和安全。
4. Overlay 与跨主机
- 适用于 Docker Swarm 或 Docker Enterprise。
- 通过
docker network create -d overlay实现跨主机服务发现。
5. IPv6 支持
bash
docker network create --ipv6 --subnet fd00:dead:beef::/48 app-ipv6- 需要宿主机支持 IPv6。
- 某些桥接网络和插件可能不支持。
6. 调试网络问题
docker network inspect <network>查看网络详情。docker exec -it <container> ping <target>验证连通性。docker logs查看容器网络异常。
7. DNS 与服务发现
- Docker 内置 DNS 可解析容器名。
- 仅在同一用户定义网络内可用。
8. 安全与隔离
- 使用
--network none关闭网络。 - 结合防火墙规则限制端口访问。
- 使用
iptables或宿主机网络策略控制流量。
Docker网络互联