ubuntu

Ubuntu Overlay怎样配置网络

小樊
44
2025-10-20 08:23:19
栏目: 智能运维

Ubuntu上配置Overlay网络(以Docker为例)
Overlay网络是Docker实现跨主机容器通信的核心技术,依赖VXLAN(虚拟可扩展局域网)在物理网络之上构建虚拟网络,使不同主机上的容器像在同一局域网中一样通信。以下是详细配置步骤:

1. 准备基础环境

2. (可选但推荐)初始化Docker Swarm

Overlay网络是Docker Swarm的默认网络驱动,初始化Swarm可简化网络管理(若仅需单主机测试,可跳过此步,但多主机场景必须使用Swarm):

docker swarm init

执行后会返回一个加入Swarm的命令(如docker swarm join --token ...),后续添加主机时需用到。

3. 创建Overlay网络

使用docker network create命令创建Overlay网络,需指定--driver overlay,并建议通过--subnet(子网)和--gateway(网关)参数自定义网络配置(避免与现有网络冲突):

docker network create --driver overlay --subnet 10.22.1.0/24 --gateway 10.22.1.1 my_overlay_network

4. 运行容器并连接到Overlay网络

启动容器时,通过--network参数将其连接到刚创建的Overlay网络:

docker run -d --name web1 --network my_overlay_network nginx
docker run -d --name web2 --network my_overlay_network nginx

5. 验证网络连通性

进入其中一个容器(如web1),使用ping命令测试与另一个容器的通信:

docker exec -it web1 bash
ping 10.22.1.3  # 替换为web2的IP地址(可通过`docker inspect web2`查看)

若返回64 bytes from ...的响应,说明Overlay网络配置成功。

6. 管理Overlay网络

7. 多网络支持(可选)

若需为容器配置多个Overlay网络,可重复创建网络并将容器连接到多个网络:

# 创建第二个Overlay网络
docker network create --driver overlay --subnet 10.22.2.0/24 --gateway 10.22.2.1 my_overlay_network_2

# 运行容器并连接到两个网络
docker run -d --name web3 --network my_overlay_network --network my_overlay_network_2 nginx

此时,web3可同时与my_overlay_networkmy_overlay_network_2中的容器通信。

注意事项

通过以上步骤,即可在Ubuntu上完成Overlay网络的配置,实现跨主机容器的高效通信。

0
看了该问题的人还看了