溫馨提示×

Ubuntu Overlay怎樣配置網絡

小樊
43
2025-10-20 08:23:19
欄目: 智能運維

Ubuntu上配置Overlay網絡(以Docker為例)
Overlay網絡是Docker實現跨主機容器通信的核心技術,依賴VXLAN(虛擬可擴展局域網)在物理網絡之上構建虛擬網絡,使不同主機上的容器像在同一局域網中一樣通信。以下是詳細配置步驟:

1. 準備基礎環境

  • 安裝Docker:確保Ubuntu系統已安裝Docker CE(社區版),若未安裝,可通過以下命令完成:
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    
  • 啟動Docker服務:安裝完成后,啟動Docker并設置開機自啟:
    sudo systemctl start docker
    sudo systemctl enable docker
    

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
  • --subnet:定義Overlay網絡的IP段(如10.22.1.0/24),需確保與物理網絡不重疊。
  • --gateway:指定Overlay網絡的網關地址(如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
  • --name:為容器指定名稱(如web1、web2)。
  • --network:指定要連接的Overlay網絡(如my_overlay_network)。
    此時,web1web2可通過Overlay網絡直接通信(即使位于不同主機)。

5. 驗證網絡連通性

進入其中一個容器(如web1),使用ping命令測試與另一個容器的通信:

docker exec -it web1 bash
ping 10.22.1.3  # 替換為web2的IP地址(可通過`docker inspect web2`查看)

若返回64 bytes from ...的響應,說明Overlay網絡配置成功。

6. 管理Overlay網絡

  • 查看所有Overlay網絡
    docker network ls
    
    輸出中會顯示類型為overlay的網絡(如my_overlay_network)。
  • 查看網絡詳情
    docker network inspect my_overlay_network
    
    可查看網絡的子網、網關、連接的容器等信息。
  • 刪除Overlay網絡
    docker network rm my_overlay_network
    
    刪除后,網絡中的容器將失去網絡連接。

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中的容器通信。

注意事項

  • 多主機場景:若需跨主機使用Overlay網絡,必須初始化Docker Swarm并將所有主機加入Swarm集群(通過docker swarm join命令)。
  • 內核要求:Overlay網絡需要Linux內核支持VXLAN(Ubuntu 16.04及以上版本默認支持)。
  • 版本兼容性:確保Docker版本≥1.12(原生支持Overlay網絡),建議使用最新穩定版。

通過以上步驟,即可在Ubuntu上完成Overlay網絡的配置,實現跨主機容器的高效通信。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女