你能用 Docker 启动容器swarm2k docker界面,也能写 Dockerfile 构建镜像了。但你是否遇到过这样的问题:
本讲将带你全面掌握 Docker 网络模型,理解容器通信背后的逻辑linux 分区,搞清楚 bridge、host、overlay、macvlan 四种核心网络模式的原理与使用场景,为后续使用 Kubernetes 的 CNI 网络打好基础。
一、Docker 网络架构概览
Docker 使用 Linux 内核中的网络命名空间(network namespace)与虚拟网卡(veth pair)来实现容器之间和外部的通信。
每当你创建容器,Docker 会:
为容器创建一个独立的网络命名空间;配置一对虚拟网卡(veth)连接容器与主机网络;根据所选网络模式接入不同的网络结构。二、四种 Docker 网络模式详解1️⃣ Bridge 模式(默认)

这是 Docker 默认的网络模式。每个容器连接到一个 Linux 网桥 docker0,通过 NAT 转发出主机网络。
特点:
示例:
docker run -d --name web1 nginx
docker run -d --name web2 nginx
docker network inspect bridge
适用场景:单机部署、局域网内容器通信
2️⃣ Host 模式
容器直接复用宿主机的网络命名空间linux版qq,没有隔离。
特点:
示例:
docker run --network host nginx
注意事项:

适用场景:高性能要求、只部署一个容器场景(如物联网边缘设备)
3️⃣ Overlay 网络(跨主机通信)
依赖于 Docker Swarm 或 Kubernetes,基于 VXLAN 实现多个主机间的容器互联。
特点:
示例(Docker Swarm 环境):
docker network create -d overlay my-overlay

适用场景:多主机部署、分布式集群
Kubernetes 使用 CNI(如 Flannel、Calico)也基于 overlay 模式。
4️⃣ Macvlan 模式
让容器直接拥有物理网卡的 IP,仿佛是网络中的一个独立设备。
特点:
示例:
docker network create -d macvlan
--subnet=192.168.1.0/24
--gateway=192.168.1.1
-o parent=eth0 my-macvlan
注意:

适用场景:需要在二层网络中暴露容器,如老旧应用或网络隔离场景
三、模式对比一览表️ 四、容器网络实战小技巧 创建自定义 bridge 网络
docker network create my-bridge
docker run --network my-bridge --name app1 busybox sleep 3600
docker run --network my-bridge --name app2 busybox sleep 3600
docker exec app1 ping app2
使用自定义 bridge 网络swarm2k docker界面,容器可通过服务名互相访问,适合搭建 Redis、MySQL、Nginx 等基础服务。
查看容器网络状态
docker network ls
docker inspect
查看容器 IP
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
本讲总结
