1. 程式人生 > >一分鐘看懂Docker的網路模式和跨主機通訊

一分鐘看懂Docker的網路模式和跨主機通訊

文章轉載自:http://www.a-site.cn/article/169899.html Docker的四種網路模式Bridge模式

當Docker程序啟動時,會在主機上建立一個名為docker0...



Docker的四種網路模式

Bridge模式


當Docker程序啟動時,會在主機上建立一個名為docker0的虛擬網橋,此主機上啟動的Docker容器會連線到這個虛擬網橋上。虛擬網橋的工作方式和物理交換機類似,這樣主機上的所有容器就通過交換機連在了一個二層網路中。

從docker0子網中分配一個IP給容器使用,並設定docker0的IP地址為容器的預設閘道器。在主機上建立一對虛擬網絡卡veth pair裝置,Docker將veth pair裝置的一端放在新建立的容器中,並命名為eth0(容器的網絡卡),另一端放在主機中,以vethxxx這樣類似的名字命名,並將這個網路裝置加入到docker0網橋中。可以通過brctl show命令檢視。

bridge模式是docker的預設網路模式,不寫--net引數,就是bridge模式。使用docker run -p時,docker實際是在iptables做了DNAT規則,實現埠轉發功能。可以使用iptables -t nat -vnL檢視。

bridge模式如下圖所示:



演示:

#docker run -tid --net=bridge --name docker_bri1 ubuntu-base:v3
#docker run -tid --net=bridge --name docker_bri2 ubuntu-base:v3

#brctl show
#docker exec -ti docker_bri1 /bin/bash
#docker exec -ti docker_bri1 /bin/bash

#ifconfig –a
#route –n
Host模式


如果啟動容器的時候使用host模式,那麼這個容器將不會獲得一個獨立的Network Namespace,而是和宿主機共用一個Network Namespace。容器將不會虛擬出自己的網絡卡,配置自己的IP等,而是使用宿主機的IP和埠。但是,容器的其他方面,如檔案系統、程序列表等還是和宿主機隔離的。

Host模式如下圖所示:



演示:

#docker run -tid --net=host --name docker_host1 ubuntu-base:v3
#docker run -tid --net=host --name docker_host2 ubuntu-base:v3

#docker exec -ti docker_host1 /bin/bash
#docker exec -ti docker_host1 /bin/bash

#ifconfig –a
#route –n
Container模式


這個模式指定新建立的容器和已經存在的一個容器共享一個 Network Namespace,而不是和宿主機共享。新建立的容器不會建立自己的網絡卡,配置自己的 IP,而是和一個指定的容器共享 IP、埠範圍等。同樣,兩個容器除了網路方面,其他的如檔案系統、程序列表等還是隔離的。兩個容器的程序可以通過 lo 網絡卡裝置通訊。

Container模式示意圖:



演示:

#docker run -tid --net=container:docker_bri1 --name docker_con1 ubuntu-base:v3

#docker exec -ti docker_con1 /bin/bash
#docker exec -ti docker_bri1 /bin/bash

#ifconfig –a
#route -n
None模式


使用none模式,Docker容器擁有自己的Network Namespace,但是,並不為Docker容器進行任何網路配置。也就是說,這個Docker容器沒有網絡卡、IP、路由等資訊。需要我們自己為Docker容器新增網絡卡、配置IP等。

Node模式示意圖:

相關推薦

分鐘Docker網路模式主機通訊

文章轉載自:http://www.a-site.cn/article/169899.html Docker的四種網路模式Bridge模式當Docker程序啟動時,會在主機上建立一個名為docker0...Docker的四種網路模式Bridge模式當Docker程序啟動時,會在主機上建立一個名為dock

docker網路模式主機通訊

Docker的四種網路模式Bridge模式 當Docker程序啟動時,會在主機上建立一個名為docker0... Docker的四種網路模式 Bridge模式 當Docker程序啟動時,會在主機上建立一個名為docker0的虛擬網橋,此主機上啟動的Docker容器會連線到這個虛擬網橋上。虛擬網橋

10分鐘DockerK8S

本文來源:鮮棗課堂 2010年,幾個搞IT的年輕人,在美國舊金山成立了一家名叫“dotCloud”的公司。 這家公司主要提供基於PaaS的雲端計算技術服務。具體來說,是和LXC有關的容器技術。 LXC,就是Linux容器虛擬技術(Linux container) 後來,dotCloud公司將自

分鐘為什麼處處都要取地址(&)

        許多初學C語言的小夥伴對這個操作符並不陌生,似乎它的用法也不怎麼難。但是,它為什麼要這樣那樣用呢,各種用法也是讓人摸不著頭腦。         今天,就由我——register_data 來帶大家解決各種疑難雜症。         為什麼一個scanf()

最全微信防封辦法總結分析,分鐘

微信,雖然只是一個聊天工具。 但對於許多人而言,它還是自己的人脈圈,遊戲圈,每天都能約幾個好友打打麻將,鬥鬥地主; 是自己的店鋪,靠著自己推廣和堅持,經營著一群粉絲,分享產品,養家餬口; 是一個私人銀行,每天都要收發紅包,理財賺錢。 如果您的微信一不小心被封掉,那也就意味著你的玩家、

10分鐘常用設計模式

    前面的文章中,對常用的設計模式做了通俗的介紹,每篇中從問題的引入,到一般實現辦法,到模式解決辦法,最後分析模式的優缺點和適用場景。本片文章將對這些設計模式分類、對比,並將相似模式放在一起做適用分析。     首先,設計模式是什麼?它並不是由誰發明出來的一種技術,而是

神經網路工作原理

現在談人工智慧已經繞不開“神經網路”這個詞了。人造神經網路粗線條地模擬人腦,使得計算機能夠從資料中學習。 機器學習這一強大的分支結束了 AI 的寒冬,迎來了人工智慧的新時代。簡而言之,神經網路可能是今天最具有根本顛覆性的技術。 看完這篇神經網路的指南,你也可以和別

分鐘神經網路機器翻譯

神經網路機器翻譯 (NMT) 已成為本地化行業中最熱門的話題之一,與以往基於統計的機器翻譯 (SMT) 相比,可以使翻譯質量提升 30% ,同時解決了遠距離語言對的複雜性問題,如中文到英語、日語到英語等。 SDL 的一項近期調查顯示,61%的受訪者認為機器翻譯

3分鐘Linux中vivim的區別

vi和vim的區別 它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅相容vi的所有指令,而且還有一些新的特性在裡面。 vim的這些優勢主要體現在以下幾個方面: 1、多級撤消 我們

比特幣區塊鏈

最近的比特幣病毒事件,使的比特幣,區塊鏈技術再次受到人們的廣泛關注。有人把它比做早期的網際網路技術,區塊鏈技術誕生於比特幣。本文簡單介紹比特幣及比特幣的底層技術區塊鏈,分析區塊鏈技術的特點及應用場景。 什麼是比特幣 特幣的概念最初由中本聰在2009年提出,根據中本聰的思

【 全幹貨 】5 分鐘帶你 Docker

service stop 技術分享 address article 快速 停止 容量 rom 歡迎大家前往騰訊雲社區,獲取更多騰訊海量技術實踐幹貨哦~ 作者丨唐文廣:騰訊工程師,負責無線研發部地圖測試。 導語:Docker,近兩年才流行起來的超輕量級虛擬機,它可以讓你輕松

漫畫 | 10分鐘量子比特、量子計算量子算法

而是 空間 bbc 讀取 然而 ec2 技術 完全 光子 請做好準備,即將進入燒腦模式! 宏觀世界的生活經驗很多都是表象。比如,你可能認為世界的運行是確定的、可預測的;一個物體不可能同時處於兩個相互矛盾的狀態。 在微觀世界中,這種表象被一種叫做量子力學的規律打破

用word製作電子公章,2分鐘就能搞定!

現在很多公司的檔案和合同都是必須要加蓋公章才是有效的,有些公司發行檔案上就有公章,其實他們使用word做出來的,如果我們也還學會了,以後製作公章就簡單了!下面將逐一介紹如何製作公章,快來動動你的小手指吧!   步驟一:首先【插入】--【形狀】,選擇橢圓形,然後拖動至合適大小。

人工智慧:人工智慧,人工智慧知識體系【歷史--內涵外延--未來學--對社會經濟的影響--技術體系--應用領域】

  圖片從   IT派   轉載 迎接AI時代的三種方式: 1.讓AI能,即創造和製造AI,並讓AI正常工作 2.讓AI賦能,利用別人創造的AI,賦能各行各業,即利用AI這一工具去服務使用者讓使用

Docker網路模式如何主機通訊

Docker有四種網路模式:Bridge、Host、Container、None,一般常用的是前面兩種,預設的是第一種,不安全的是第二種,以下介紹一下四種網路模式,並重點介紹一下如何配置自己的跨主機通訊網路。 一、網路模式介紹 1、Bridge模式:         預

深度學習基礎系列()| 用kersa構建模型的各層含義(掌握輸出尺寸可訓練引數數量的計算方法)

      我們在學習成熟神經模型時,如VGG、Inception、Resnet等,往往面臨的第一個問題便是這些模型的各層引數是如何設定的呢?另外,我們如果要設計自己的網路模型時,又該如何設定各層引數呢?如果模型引數設定出錯的話,其實模型也往往不能運行了。   所以,我們需要首

篇教你spring bean工廠aop

這篇文章為spring回顧總結的第二篇,本篇主要分為兩個部分,分別是spring的bean工廠的實現.spring的aop實現原理,這兩部分也是面試當中問的比較多的. spring的bean工廠的實現 spring的bean工廠的實現可以有以下三種方式 靜態工廠實現 public class

10分鐘動態代理設計模式

動態代理是Java語言中非常經典的一種設計模式,也是所有設計模式中最難理解的一種。本文將通過一個簡單的例子模擬JDK動態代理實現,讓你徹底明白動態代理設計模式的本質,文章中可能會涉及到一些你沒有學習過的知識點或概念。如果恰好遇到了這些知識盲點,請先去學習這部分知識,再來閱讀這篇文章。什麼是代理從字面意思來看,

瞬態抑制二極體壓敏電阻的區別

一文看懂壓敏電阻與TVS二極體的區別,超值乾貨   隨著科學技術的大力發展,如今電力裝置機器、日常消費電子產品、汽車電子等產品功能愈來愈強大的同時,其自身面臨的威脅也在不斷地放大。功能越強大的電子產品,其內部的晶片整合度也就愈高,倘若電路保護設計防護措施不到位,帶來的損失也是極大

分鐘Nginx伺服器的快取原理機制

作者:LifeIsButA_Span 來源: http://blog.csdn.net/lifeisbuta_span/article/details/70598586 Nginx伺服器的快取原理,是在學習過程中比較重要的一個知識點,學習通透之後,對於自己的