• <strike id="6sogq"><s id="6sogq"></s></strike>
  • <strike id="6sogq"></strike>

    千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:成都千鋒IT培訓  >  技術干貨  >  帶你細致學習Docker網(wǎng)絡 - bridge模式

    帶你細致學習Docker網(wǎng)絡 - bridge模式

    來源:千鋒教育
    發(fā)布人:wjy
    時間: 2023-02-13 20:17:57

      最近有幾個已經(jīng)就業(yè)的小伙伴,過來問千鋒健哥關于Docker網(wǎng)絡配置的問題,他們在實際開發(fā)中還是有些疑問。關于Docker網(wǎng)絡這一塊的內容確實很多,為了讓大家搞清楚這個問題,健哥準備搞幾篇系列文章,來為各位小伙伴解惑。這次健哥帶來的是Docker網(wǎng)絡的Bridge模式,接下來我們直接上干貨!!!

      Docker容器和服務之所以強大的原因之一,是可以將它們連接在一起,或者將它們連接到非Docker的工作負載上。而Docker容器和服務甚至都不需要知道它們部署在Docker容器上。無論Docker主機是運行在Linux、window上,或者兩者混合運行,都可以使用Docker以與平臺無關的方式來管理它們。

      而這一切的基礎,都是緣于Docker網(wǎng)絡提供的強大功能和良好設計!

      一. 操作環(huán)境

      我們先說一下運行所需要的環(huán)境,如下:

      centos 7.x版本

      docker版本:Docker version 20.10.18, build b40c2f6

      xshell 7

      ·

      二. Docker network 常用命令

      我們先來看看Docket中提供的常用network命令。

      1.

      查看docker network幫助手冊

      2.

    帶你細致學習Docker網(wǎng)絡 - bridge模式1

      列出docker網(wǎng)絡

    帶你細致學習Docker網(wǎng)絡 - bridge模式2

      通過docker network create創(chuàng)建一個網(wǎng)絡

    帶你細致學習Docker網(wǎng)絡 - bridge模式3

    帶你細致學習Docker網(wǎng)絡 - bridge模式2341

      查看qf網(wǎng)絡的詳細信息

    帶你細致學習Docker網(wǎng)絡 - bridge模式4

      三. Docker網(wǎng)絡的作用

      在開始學習Docker網(wǎng)絡用法之前,我們再來了解一下Docker網(wǎng)絡的作用,主要作用如下:

      1. Docker網(wǎng)絡可以負責容器間的相互連接和通信,以及端口映射; 2. 當容器`ip`地址發(fā)生更改時,可以通過服務名稱進行網(wǎng)絡通信,不會因為`ip`的更改導致服務不可用。

      四. 網(wǎng)絡模式

      Docker的網(wǎng)絡有以下幾種網(wǎng)絡模式。

    帶你細致學習Docker網(wǎng)絡 - bridge模式5

      網(wǎng)絡模式說明

      bridge, 虛擬網(wǎng)橋, 默認模式每一個容器有獨立的ip, 并將容器連接到docker0網(wǎng)橋上

      host使用宿主機的ip和端口號, 容器不會虛擬出自己的網(wǎng)卡、配置ip

      none有獨立的network namespace,但是并未對其進行任何網(wǎng)絡設置

      container和一個指定的容器共享ip和端口號, 不會虛擬出網(wǎng)卡、配置ip等操作.

      1. bridge模式

      網(wǎng)橋模式,是docker默認的網(wǎng)絡模式。

      1.1 案例說明

      我們可以創(chuàng)建兩臺centos容器,分別進入這兩臺容器中查看網(wǎng)絡情況,查看ip是否相同。

    帶你細致學習Docker網(wǎng)絡 - bridge模式3925

    帶你細致學習Docker網(wǎng)絡 - bridge模式4211

      進入容器,查看各自的ip地址。

    帶你細致學習Docker網(wǎng)絡 - bridge模式4513

      結論:通過觀察可以發(fā)現(xiàn),這兩個centos容器的ip地址并不相同。docker服務默認會創(chuàng)建一個docker0網(wǎng)橋,它在內核層連通了其它物理或者虛擬網(wǎng)卡,它會將所有容器和本機放到同一個物理網(wǎng)絡。docker默認指定了docker0接口的ip地址和子網(wǎng)掩碼,讓主機和容器之間通過互相通信。

      1.2 在宿主機中查看docker0網(wǎng)橋

    帶你細致學習Docker網(wǎng)絡 - bridge模式6+

    帶你細致學習Docker網(wǎng)絡 - bridge模式7-

      docker使用linux進行橋接,在宿主機上虛擬一個docker網(wǎng)橋「docker0」。docker啟動一個容器會根據(jù)docker網(wǎng)橋的網(wǎng)段,分配給容器一個ip地址,稱為為container-ip。

      docker網(wǎng)橋是每個容器的默認網(wǎng)關,同一臺宿主機內的容器都會接入一個網(wǎng)橋,這樣容器之間就能通過container-ip進行通信了。

      當創(chuàng)建容器的時候,如果沒有指定網(wǎng)絡模式,默認會使用bridge,使用的就是docker0。在宿主機執(zhí)行ifconfig時,可以查看到docker0或者自己創(chuàng)建的網(wǎng)絡。

      eth0, eth1… 代表網(wǎng)卡一,網(wǎng)卡二…

      lo, 表示本地回環(huán)網(wǎng)絡。

      inet ip用來表示網(wǎng)卡的ip地址。

      2. bridge模式詳解

    帶你細致學習Docker網(wǎng)絡 - bridge模式7900

      整個宿主機的網(wǎng)橋模式都是docker0,類似于一個交換機有一大堆接口,每個接口都可以稱為veth。在宿主機和容器內分別創(chuàng)建一個虛擬接口,并讓他們彼此連通「veth pair」;

      每個實例內部都有一塊網(wǎng)卡,每個接口可以稱為eth0。

      docker0上面每個veth,匹配某個容器內部的eth0,一一配對 或 兩兩配對。

      重要結論:將宿主機上的所有容器都連接到這個內部網(wǎng)絡上,兩個容器在同一個網(wǎng)絡下,會從這個網(wǎng)卡拿到分配的ip,此時兩個容器的網(wǎng)絡是互通的。

      2.1 驗證案例

      o

      啟動兩臺centos容器,在宿主機當中查看網(wǎng)絡在情況. ip addr

      o

    帶你細致學習Docker網(wǎng)絡 - bridge模式8468

      o

      進入mycentos01容器。

      o

    帶你細致學習Docker網(wǎng)絡 - bridge模式8772

      o

      進入mycentos02容器。

      o

    帶你細致學習Docker網(wǎng)絡 - bridge模式9076

      o

      宿主機eth0, docker0與容器內eth0之間的對應關系。

      o

    帶你細致學習Docker網(wǎng)絡 - bridge模式9397

      o

      完整圖示:

      o

    帶你細致學習Docker網(wǎng)絡 - bridge模式9691

      2.2 bridge使用的正確姿勢

    帶你細致學習Docker網(wǎng)絡 - bridge模式8

      五. 總結

      各位小伙伴,今天千鋒健哥為大家?guī)淼腷irdge模式就是這些內容了,是不是很容易理解呢?

      docker網(wǎng)絡作為整個docker體系中極為重要的一個知識點,在生產(chǎn)中經(jīng)常被用到,尤其是網(wǎng)絡模式當中的bridge模式和host模式更是應該重點掌握。

      自定義網(wǎng)絡,可以通過服務名稱「容器名稱」進行容器間的通信。自動處理了容器名稱與ip地址的映射關系,這樣使得容器間通信更為可靠和容易。

      至于其他模式,如果各位小伙伴想要了解,敬請繼續(xù)期待千鋒健哥本系列的其他文章哦。

    聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。

    猜你喜歡LIKE

    經(jīng)典面試題:static加載機制你知道嗎?

    2023-03-23

    如何做用戶分層?

    2022-12-12

    如何進行有效的數(shù)據(jù)分析?

    2022-12-12

    最新文章NEW

    跨域如何解決

    2023-04-04

    消息中間件常用協(xié)議有哪些

    2023-03-22

    四種方式創(chuàng)建SpringBoot項目

    2023-02-27

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網(wǎng)友熱搜 更多>>