docker 指定網卡_Docker | Docker技術基礎梳理(五) Docker網絡管理

fc07895331f579eb83099a771612885c.png

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

容器的網絡默認與宿主機、與其他容器相互隔離,且容器中可以運行一些網絡應用,比如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輸出結果
302305669e068883c07f791ca7e3f4bd.png
使用網絡(docker run)

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

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

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

命令格式:

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

常用參數:

-f?強制斷開連接

Docker網絡模式簡介

bridge網絡模式
  1. bridge網絡模式的特點:

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

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

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

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

  • 每一容器具有單獨的IP

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

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

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

命令參數:

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

關于-p參數的舉例:

80?將容器的
host網絡模式

host網絡模式的特點:

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

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

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

  • 容器IP就是宿主機的IP

530ec6b33bf403e4cb7032f3d532678f.png
host網絡模式示意圖

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

container網絡模式的特點:

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

760610ac502bb15c2aea418212f88434.png
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網絡模式,其使用性能最優。

3661db14e2818d7bb829edf41df8d3a8.pngc862312185f9a88779e0b6ed4fd482a7.png

咸魚普拉思

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539362.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539362.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java.net.URLEncode編碼 與 URLDecode解碼問題

原文:http://blog.csdn.net/luojian520025/article/details/9139293 -------------------------------------------------------------------------------------------- String mytext java.net.URLEncoder.encode("中國", "utf-8")…

Android安裝兩次才成功,Android應用從市場安裝完成打開與桌面打開,被啟動兩次的問題...

問題描述:1、從Android應用市場下載并安裝應用,安裝完成后,當前界面下方會出現“打開”按鈕,這時候我們點擊“打開”,會啟動應用,進入到應用的啟動頁面,然后進入應用的主界面,這個時…

事務保存點

在SQL Server中使用rollback會回滾所有的未提交事務狀態,但是有些時候我們只需要回滾部分語句,把不需要回滾的語句提到事務外面來,雖然是個方法,但是卻破壞了事務的ACID。 SQL中使用事務保存點 即可解決這個問題. 一.SQL 事務中存…

鼎信諾審計前端取數工具_給2019前端的5個建議

2019 農歷新年即將到來,是時候總結一下團隊過去一年的技術沉淀。過去一年我們支撐的數據相關業務突飛猛進,其中兩個核心平臺級產品代碼量分別達到30萬行和80萬行,TS 模塊數均超過1000個,協同開發人員增加到20人。由于歷史原因&…

Hadoop HA

HA概念: high avalability 高可用性。 hadoop 1.x非ha設計 Secondnode對元數據的可靠性有了保障,但服務的可用性不高。 即:當Namenode節點宕機了,整個hadoop就不能使用了,影響了client的使用。 hadoop 2.x的ha設計 新…

紫光展銳處理器有那些手機用_酷派將發千元5G手機,國產紫光展銳加持,主打性價比...

↑↑↑點擊上方藍字訂閱每日最新熱點手機資訊數年之前,“中華酷聯”是國產智能手機的四大代表。不過隨著越來越多的強力競爭者入局,中興、酷派、聯想漸漸衰敗,僅剩華為屹立手機行業頂端。但是酷派似乎從未想過放棄,最近便要發布一…

jelly bean android,Jelly Bean占Android系統份額突破10%

Android系統份額圖(騰訊科技配圖)騰訊科技訊(清雨)北京時間1月4日消息,據國外媒體報道,微博)周四發布最新數據顯示,Android 4.1版本和Android 4.2版本的Jelly Bean在Android系統中的份額超過了10%,另外Android 4.0版本的ICS的份額…

Unable to load native-hadoop library for your platform

警告: 16/08/04 19:21:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 原因: 沒有配置好環境變量,hadoop的native沒有配置進去 解決方法&#x…

android網絡切換socket,Android版的websocket切換網絡無法重連

- 當前 Bug 的表現(可附上截圖)1、android微信使用websocket切換網絡時一般都無法重連,有時候重啟微信也沒用,需要重啟手機才能連上。移動或聯通網絡切換到電信網絡特別容易出現。2、Android微信使用socketIO經常會斷線重連,有時候斷線幾次就…

妲己機器人需要什么條件才能使用_estar零封YTG:平頭哥快樂電競,只有妲己沒亞瑟,差評...

2020KPL秋季賽常規賽第8周最后1個比賽日的第2場比賽,結果已經塵埃落定了。而最終的比賽結果是:estarpro輕松以3比0的大比分零封戰勝YTG。有一說一,這一場比賽真的是毫無懸念啊,甚至雙方交手的第1小局比賽,estarpro只用…

藍橋杯 出現次數最多的整數

問題描述   編寫一個程序,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數N也是由用戶輸入的,最多不會超過20。然后程序將對這個數組進行統計,把出現次數最多的那個數組元素值打印出來。如果有兩個元素…

python離線錄音轉文字_Python將文字轉成語音并讀出來的實例詳解

前言 本篇文章主要介紹,如何利用Python來實現將文字轉成語音。將文字轉成語音主要有兩種不同的實現方法:先將文字轉成語音,然后再通過讀取語音實現發音、直接調用系統內置的語音引擎實現發音,后一種方法的實現主要利用第三方庫。 …

Linux 文件夾權限

文件夾默認權限:drwxr-xr-x 755 文件默認權限:-rw-r--r-- 644 ------------------------------------------ drwxr-xr-x 第一位(左數)表示當前目錄是目錄還是文件,d表示目錄,-表示普通文件. 后面9位分為3組,每3組作為1組, 從左到右分別表示&…

魅族15系統是android,魅族15系列評測:性能夠用王者榮耀優化

硬件性能:中配夠用,高配優秀硬件方面,文章前面的參數表已經寫得很清楚,魅族15搭載的是高通驍龍660處理器,并配備4GB的運行內存;魅族15 Plus則搭載三星Exynos 8895,配備6GB運行內存。在目前的移動…

.net 怎么循環得到數組里的值_HashMap 底層實現、加載因子、容量值及死循環

寫在前面:2020年面試必備的Java后端進階面試題總結了一份復習指南在Github上,內容詳細,圖文并茂,有需要學習的朋友可以Star一下!GitHub地址:abel-max/Java-Study-NoteHashMap 簡介HashMap 是一個基于哈希表…

Linux下 -bash: php: command not found 命令找不到

轉載自CSDN博客,原作者:warthur。原文鏈接:http://blog.csdn.net/warthur/article/details/47342163這個問題其實很簡單,如果你在終端輸入一個命令,而系統提示你說命令沒有找到(Command not found&#xff…

hdfs命令

bin/hdfs dfs命令 appendToFile Usage: hdfs dfs -appendToFile <localsrc> ... <dst> 追加一個或者多個文件&#xff08;linux文件&#xff09; <localsrc> ...到hdfs制定文件<dst>中.也可以從命令行讀取輸入. hdfs dfs -appendToFile localfile /use…

eclipse jdk配置_eclipse的安裝和jdk的配置(JAVA)

首先需要到eclipse官網下載(eclipse.org)點擊download進入新界面點擊download 64bit進入新界面 點擊劃線的&#xff0c;點擊download也許但是比較慢&#xff0c;點擊劃線的會出現擴展選項&#xff0c;選擇距離你比較近的節點(速度比較快)作者選的是C…

webview跟html通信的原理,1.iOS: webView與html的交互

摘要:由于最近的項目中大部分功能需要 iOS 原生端與 html 進行交互才能完美實現,所以對 iOS 與 html 的交互方式進行了學習,這篇文章主要介紹 WebViewJavascriptBridge 框架的使用.至于原生的 JavaScriptCore.framework 就不多介紹了,同時在這里推薦一個比較好的博客.http://bl…

HDFS Federation(HDFS 聯盟)介紹

1. 當前HDFS架構和功能概述 我們先回顧一下HDFS功能。HDFS實際上具有兩個功能&#xff1a;命名空間管理&#xff08;Namespace management&#xff09;和塊/存儲管理服務&#xff08;block/storage management&#xff09;。 1.1 命名空間管理 HDFS的命名空間包含目錄、文件和塊…