日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 指定网卡_Docker | Docker技术基础梳理(五) Docker网络管理

發布時間:2025/3/11 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 指定网卡_Docker | Docker技术基础梳理(五) Docker网络管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么需要容器的網絡管理?

容器的網絡默認與宿主機、與其他容器相互隔離,且容器中可以運行一些網絡應用,比如nginx、web應用、數據庫等,如果需要讓外部也可以訪問這些容器中運行的網絡應用,那么就需要配置網絡來實現。

同樣的,不同需求下,容器與宿主機的通信有不同的業務狀態這時候就需要容器網絡管理以達成管理不同業務下相關的網絡配置。

Docker中的網絡驅動模式有那些?

bridge network(網橋)模式:默認的網絡模式,類似虛擬機的nat模式

host network(主機)模式:容器與宿主機之間的網絡無隔離,即容器直接使用宿主機網絡

none network模式:容器禁用所有網絡

overlay network(覆蓋)模式:利用vxlan實現的bridge模式

macvlan network模式:容器具備MAC地址,使其在外部看來是一臺真實的網絡設備

Docker網絡管理命令淺析

查看網絡(docker network ls)

命令格式: docker network ls [參數]

常用參數:

-q?只顯示網絡對象的ID

注意: docker安裝之后,會自動創建bridge、host、none三種網絡驅動。

創建網絡(docker network create)

命令格式:docker network create [參數] 網絡

常用參數:

-d?指定網絡的驅動,不指定默認為bridge
--?subnet?指定子網網段(192.168.0.0/16)
--?ip-range?指定容器的IP范圍
--?gateway?子網的網關

注意:

  • 創建網絡部分參數,涉及到網絡工程師相關的知識,這里不做詳細介紹有需要可以參考「計算機網絡」這本書,內有詳解。

  • host、none模式的網絡只能存在一個,再次創建會報錯。

  • overlay網絡創建依賴于docker swarm(集群負載均衡)服務

網絡刪除(docker network rm)

刪除一個或多個網絡

命令格式:docker network rm 網絡[網絡..]

查看網絡詳細信息(docker network inspect)

命令格式:

docker network inspect [參數] 網絡

docker inspect [參數] 網絡

常用參數:

-f?根據format輸出結果
使用網絡(docker run)

命令格式:docker run/create --network 網絡

注意:默認情況下,docker創建或啟動容器時,會默認使用名為bridge的網絡

網絡連接與斷開(docker network connect /disconnect)

命令格式:

docker network connect/disconnect [參數] 網絡 容器

常用參數:

-f?強制斷開連接

Docker網絡模式簡介

bridge網絡模式
  • bridge網絡模式的特點:

    • 宿主機上需要單獨的bridge網卡,如默認docker默認創建的docker0。

    • 容器之間、容器與主機之間的網絡通信,是借助為每一個容器生成的一對veth pair虛擬網絡設備對,進行通信的。一個在容器上,另一個在宿主機上。(這是網橋)

    • 每創建一個基于bridge網絡的容器,都會自動在宿主機上創建一個veth**虛擬網絡設備。
      外部無法直接訪問容器。需要建立端口映射才能訪問。(可以理解為網卡)

    • 容器借由veth虛擬設備通過如docker0這種bridge網絡設備進行通信。

    • 每一容器具有單獨的IP

    • bridge網絡模式下宿主機與容器服務使用的端口可以重復

    bridge原理示意圖
  • bridge網絡模式下的端口映射
    根據上面關于bridge的特點我們可以知道訪問bridge網絡模式的設備,需要端口映射。

  • 端口映射的命令格式:docker run/create -P/-p

    命令參數:

    -P?將容器內部所有暴露端口進行隨機映射
    -p?手動指定端口映射?(-p?[宿主機IP]?:?[宿主機端口]?:?容器端口)

    關于-p參數的舉例:

    80?將容器的
    host網絡模式

    host網絡模式的特點:

    • 容器完全共享宿主機的網絡,網絡沒有隔離。宿主機的網絡就是容器的網絡。

    • 容器、主機上的應用所使用的端口不能重復。

    • 外部可以直接訪問容器,不需要端口映射

    • 容器IP就是宿主機的IP

    host網絡模式示意圖

    除了普通的host網絡模式外,同樣還有特殊版本的host網絡模式(container網絡模式)。

    container網絡模式的特點:

    其實就是容器共享其他容器的網絡,相當于該容器,在網絡層面上,將其他容器作為“主機”。它們之間的網絡沒有隔離。

    container網絡模式

    container網絡模式的使用:

    docker run/create --network container:容器

    none、overlay與macvlan網絡模式

    none網絡模式的特點:

    • 容器上沒有網絡,也無需任何網絡設備

    • 如果需要使用網絡,需要用戶自行安裝與配置

    overlay網絡模式的特點:

    • overlay網絡模式實現方案有很多種,在Docker自身集成了一種,基于VXLAN隧道技術實現

    • overlay網絡主要用于實現跨主機容器之間的通信

    macvlan網絡模式的特點:

    • macvlan的主要特點就是通信直接基于mac地址進行轉發

    • 在macvlan中宿主機擔任的角色是一臺二層交換機,docker會維護一張mac地址表,當宿主機收到數據包時,直接根據mac地址找到對應的容器

    • 而在容器內部互相通信的時候,容器直接使用IP互通,所以每個容器對于外面的網絡都是一臺真實的網絡設備

    總結

    這次文章主要復習了docker的網絡管理的內容,其中host,bridge,container是主要的復習內容,且在三種網絡模式中建議優先選用host網絡模式,其使用性能最優。

    咸魚普拉思

    一只咸魚在編程路上的摸爬滾打,記錄摸索中的點點滴滴。

    總結

    以上是生活随笔為你收集整理的docker 指定网卡_Docker | Docker技术基础梳理(五) Docker网络管理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。