SuperAPI AI 工具集

networking

部署与运维

查看项目

更新于 10-16 03:42

技能介绍

用途:整理 Docker 容器网络相关操作,包括网络模式选择、跨主机通信、端口映射与网络诊断。

主要能力:

  • 网络驱动:bridge(默认,单主机通信)、host(共享主机网络)、none(无网络)、overlay(跨主机,Swarm)、macvlan(分配 MAC 地址)。
  • 网络管理:docker network ls、docker network inspect、docker network create、connect、disconnect。
  • Bridge:默认 bridge 容器间通过 IP 通信,不支持容器名解析;自定义 bridge 支持容器名解析。
  • Host/None:host 直接使用主机端口、无需映射、性能最好但可能端口冲突;none 完全隔离。
  • 端口映射:-p HOST:CONTAINER、多端口、绑定特定 IP、-P 随机端口,docker port 查看。
  • DNS 与别名:--dns、--hostname、--add-host、--network-alias。
  • Overlay:docker swarm init 后创建,--attachable 允许非 Swarm 服务使用。
  • Macvlan:指定 subnet、gateway、parent,容器获得独立 MAC 地址。
  • 诊断:docker exec 进入容器安装工具,或使用 nicolaka/netshoot;常用 ip addr、ss、curl、tcpdump、nslookup。

使用方式:按场景创建网络并让容器加入,例如创建 app-network 后启动 db 与 app,通过容器名访问数据库;隔离前后端时分别创建 frontend、backend 网络,用 docker network connect 让后端连接两个网络。

适用场景:容器间通信、前后端隔离、网络问题调试、带宽限制(需 NET_ADMIN 权限,使用 tc)。

限制:默认 bridge 不支持容器名解析;host 网络可能端口冲突;overlay 需 Swarm;macvlan 需指定父接口;带宽限制需额外权限。故障排查可检查是否同网络、DNS 解析、端口映射与防火墙、iptables 规则。