ubuntu

ubuntu overlay配置中网络设置怎么做

小樊
50
2025-09-29 03:19:57
栏目: 智能运维

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

1. 准备基础环境

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

Overlay网络是Docker Swarm的默认网络驱动,初始化Swarm可简化多主机网络管理:

docker swarm init

初始化后会返回一个加入令牌(如docker swarm join --token SWMTKN-1-xxxx...),后续添加主机时需用到。

3. 创建Overlay网络

使用docker network create命令创建Overlay网络,需指定--driver overlay参数,并可自定义子网、网关等参数(避免与现有网络冲突):

docker network create --driver overlay --subnet 10.0.9.0/24 --gateway 10.0.9.1 my-overlay-network

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

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

# 在当前主机运行容器
docker run -dit --name container1 --network my-overlay-network ubuntu

# 若为多主机环境,需在其他主机上运行容器并连接到同一Overlay网络
# (需先通过`docker swarm join`将主机加入Swarm集群)
docker run -dit --name container2 --network my-overlay-network ubuntu

容器启动后,会自动获取Overlay网络中的私有IP地址(可通过docker inspect container1查看)。

5. 验证Overlay网络连通性

进入其中一个容器,尝试ping另一个容器的IP地址,验证跨主机通信是否正常:

# 进入container1
docker exec -it container1 bash

# 在container1中ping container2(需替换为container2的实际IP)
ping 10.0.9.2

若返回64 bytes from 10.0.9.2: icmp_seq=1 ttl=64 time=0.123 ms,则表示网络连通正常。

6. 管理Overlay网络

7. 多网络支持(可选)

若需为容器配置多个Overlay网络,可创建多个网络实例,并在启动容器时指定多个--network参数:

# 创建第二个Overlay网络
docker network create --driver overlay --subnet 10.0.10.0/24 --gateway 10.0.10.1 my-overlay-network-2

# 运行容器并连接到两个Overlay网络
docker run -dit --name web1 --network my-overlay-network --network my-overlay-network-2 nginx

或在docker-compose.yml中配置(适用于多容器编排):

version: '3.8'
services:
  web1:
    image: nginx
    networks:
      - my-overlay-network
      - my-overlay-network-2
networks:
  my-overlay-network:
    external: true
  my-overlay-network-2:
    external: true

部署时使用docker stack deploy -c docker-compose.yml my_stack命令。

注意事项

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

0
看了该问题的人还看了