docker docker 網路管理

2022-07-26 06:51:13 字數 3388 閱讀 7710

1、檢視docker網路:

docker network ls
docker中預設的三種網路分別為bridge、host和none,其中名為bridge的網路就是預設的bridge驅動網路,也是容器建立時預設的網路管理方式,配置後可以與宿主機通訊從而實現與網際網路通訊功能,而host和none屬於無網路,容器新增到這兩個網路時不能與外界網路通訊。這裡介紹的三種網路bridge、host和none都是在非集群環境下docker提供的預設網路,而在docker swarm集群環境下,除了這三種預設網路外,docker還提供了docker_gwbridge和ingress兩種預設網路。

​2 、檢視容器使用的網路情況:

雖然 docker提供的預設網路的使用比較簡單,但是為了保證各容器中應用的安全性,在實際開發中更推薦使用自定義的網路進行容器管理。在docker中,可以自定義bridge網路、overlay網路,也可以建立network plugin(網路外掛程式)或者遠端網路以實現容器網路的完全定製和控制。

9.2.1 網路型別

為了保證容器的安全性,我們可以使用基於bridge的驅動建立新的bridge網路,這種基於bridge驅動的自定義網路可以較好的實現容器隔離。需要說明的是,這種使用者自定義的基於bridge驅動的網路對於單主機的小型網路環境管理是乙個不錯的選擇,但是對於大型的網路環境管理(如集群)就需要考慮使用自定義overlay集群網路。

在docker swarm集群環境下可以建立基於overlay驅動的自定義網路。為了保證安全性,swarm集群使自定義的overlay網路只適用於需要服務的群集中的節點,而不會對外部其他服務或者docker主機開放。

如果前面幾種自定義網路都無法滿足需求時,就可以使用docker提供的外掛程式來自定義網路驅動外掛程式。自定義網路外掛程式會在docker程序所在主機上作為另乙個執行的程序。自定義網路驅動外掛程式與其他外掛程式遵循相同的限制和安裝規則,所有外掛程式都使用docker提供的外掛程式api,並且有乙個包含安裝、啟動、停止和啟用的生命週期。由於自定義網路外掛程式使用較少,所以只需了解即可。

9.2.2 自定義網路

1、docker network create ‐‐driver bridge isolated_nw

建立乙個基於bridge驅動的名稱為isolated_nw的網路。其中‐‐driver(可簡寫為‐d)用

於指定網路驅動型別,isolated_nw就是新建立的網路名稱。需要說明的是,‐‐driver

bridge可以省略,省略時docker會預設使用基於bridge驅動來建立新的網路。

2、docker run ‐itd ‐‐name=nwtest ‐‐network=isolated_nw busybox

會建立乙個名為nwtest的容器,指令中的‐‐network引數指定了該容器的網路連線為自定義

的isolated_nw。通過docker inspect nwtest指令可以檢視啟動後的容器詳情,來核查

其網路管理方式.

3、docker network connect bridge nwtest

會為容器nwtest另新增一種預設的bridge網路管理方式。再次使用docker inspect

nwtest指令檢視該容器網路詳情

4、docker network disconnect isolated_nw nwtest

斷開網路連線的指令與連線網路的指令類似,在使用時也需要指定網路名稱和容器名稱

5、docker network rm isolated_nw

移除名稱為isolated_nw的自定義網路。當網路移除成功後,會返回網路名稱。

1、建立兩個使用預設的bridge網路的容器

docker run ‐itd ‐‐name=c1 busybox

docker run ‐itd ‐‐name=c2 busybox

2、建立乙個使用自定義的isolated_nw網路(需要預先建立)的容器

docker network create ‐‐driver bridge isolated_nw

docker run ‐‐network=isolated_nw ‐itd ‐‐name=c3 busybox

3、為container2容器新增乙個自定義的isolated_nw網路連線

docker network connect isolated_nw c2
c1:172.17.0.3 【bridge】c2:172.17.0.4 和 172.19.0.3 【bridge、isolated_nw】

c3 :172.19.0.2【isolated_nw】

4、c1、c2、c3網路分配情況如下:

5 、測試容器間通訊:分別登入c1、c2、c3容器,通過ping命令判斷是否通訊。

進入容器docker attach c1

退出容器快捷鍵 ctrl + q + p

ping ‐w 4 ip位址

6 、結論

不同容器之間想要相互通訊必須在同乙個網路環境下;使用預設bridge網路管理的容器可以

使用容器ip進行通訊,但無法使用容器名稱進行通訊;而使用自定義網路管理的容器則可以

使用容器ip進行通訊

菜鳥系列docker docker網路 8

docker在容器內部執行應用,這些應用之間的互動依賴於大量不同的網路,這意味著docker需要強大的網路功能。docker 網路從覆蓋範圍可分為單個 host 上的容器網路和跨多個 host 的網路,單機意味著該網路只能在單個docker主機上執行,並且只能與所在docker主機上的容器進行連線。...

Docker Docker網路和容器的通訊

一般情況下,docker建立乙個容器的時候,會具體執行如下操作 1.建立一對虛擬介面,分別放到本地主機和新容器的命名空間中 2.本地主機一端的虛擬介面連線到預設的docker0網橋或指定網橋上,並具有乙個以veth開頭的唯一名字,如veth1234 3.容器一端的虛擬介面將放到新建立的容器中,並修改...

docker docker開源專案

最早接觸docker是在14年年初,當初docker遠沒有這在這麼火,當時覺得docker也就是類似openstack cloudstack的乙個容器管理,沒什麼特別,沒想到啊,半年的時間裡,發生了如此翻天覆地的變化 vmware與docker合作 rhel 7整合docker cloudfoudr...