SorryToPerson logo
返回
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网络互联