日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

深入解析docker三種網絡模式_docker

作者:m0_54883970 ? 更新時間: 2022-06-14 編程語言

1.docker默認的三種網絡模式:

bridge:橋接模式

host:主機模式

none:無網絡模式

查看網絡模式: docker network ls

2.橋接模式

簡介:橋接模式是docker 的默認網絡設置,當Docker服務啟動時,會在主機上創建一個名為docker0的虛擬網橋,并選擇一個和宿主機不同的IP地址和子網分配給docker0網橋

如下圖所示:eno16777728是宿主機的網卡,192.168.0.156是宿主機的ip地址,docker0就是docker服務的虛擬網橋。

橋接拓撲圖:

網絡模式選擇橋接模式的容器,就會連接上docker0這個網橋,在通過nat的轉換,通過宿主機的網卡,連接外網,就能達到上外網的目的。

如下圖所示,我啟動了兩個容器,就會有兩個容器網卡,以及一個docker0虛擬網卡,如果啟動三個就會有三個容器網卡,這幾個容器網卡都會橋接到docker0網卡,docker0網卡與物理機網卡連接使用的是nat技術

進入某一個容器查看路由情況:

在容器內安裝工具:yum -y install net-tools

容器的ip地址是172.17.0.3,他的網關是172.17.0.1,他的數據是發往172.17.0.1這個網關,這個網關也是虛擬網橋的地址,如下圖所示,docker0這個虛擬網橋的ip地址就是172.17.0.1。

在宿主機安裝工具:yum install -y bridge-utils

然后使用brctl show命令查看橋接情況:

如下圖所示就可以看到,docker0這個網橋橋接了30和17這兩個容器的網卡.

需要注意的一點如下:

宿主機能訪問docker容器是因為有docker0這個虛擬網卡,除宿主機外的機器想訪問容器,只能夠訪問宿主機,這時候正常方式都是使用端口映射,也就是將容器的端口與宿主機的端口進行映射,供外面的機器訪問

3.host模式

host 模式:該模式下容器是不會擁有自己的ip地址,而是使用宿主機的ip地址和端口。這種模式的好處就是網絡性能比橋接模式的好。缺點就是會占用宿主機的端口,網絡的隔離性不太好

以nginx容器為例:啟動nginx容器命令并防火墻放開80端口:

docker run -d --net=host mycentos:nginx /usr/local/nginx/sbin/nginx -g “daemon off;”

–net=host是指定網絡模式為主機模式,如果不填就是橋接模式

注意:主機模式啟動的容器沒有自己的IP地址

4.none模式

加上后面的參數就行了 --net=none

none模式沒有IP地址,無法連接外網,等于就是斷網的狀態,作用就是用于測試,生產環境一般不會用到這種

原文鏈接:https://blog.csdn.net/m0_54883970/article/details/124170437

欄目分類
最近更新