Docker 网络模型

发表于
更新于
3 0.7~0.8 分钟 296

第二阶段:Docker(容器引擎入门)·容器网络模型

Bridge(默认)

  • 概念:每个容器连接到虚拟桥接设备(docker0),通过 NAT 实现与外网通信。
  • 实现:Docker 创建名为 docker0 的虚拟以太网桥,为每个容器创建 veth pair(一端在容器 netns,另一端挂到 docker0)。容器间通过桥转发通信。出站流量通过 iptables 的 MASQUERADE 规则做源地址转换。

Host

  • 概念:容器直接使用宿主机网络栈,不创建 netns。
  • 实现:容器启动时不设置独立 netns,而是加入宿主机 netns,因此容器端口直接监听宿主机网络。

None

  • 概念:容器拥有独立 netns 但无任何网络接口,完全隔离。
  • 实现:仅创建 netns 但不分配 veth,用于需要自定义网络配置的场景。

Container

  • 概念:新容器与已有容器共享 netns。
  • 实现:设置 net namespace 为指定容器的 PID 对应的 netns。

端口映射

  • 实现:通过 iptables 的 DNAT(目标地址转换)规则,将访问宿主机特定端口的流量重定向到容器的 IP 和端口(容器 IP 是 bridge 网络内的地址)。

0

推荐文章

Docker 数据持久化
Docker 镜像管理
上一篇 容器镜像仓库:Docker Hub 与私有仓库
下一篇 Kubernetes 资源管理