新聞中心
Docker提供幾種原生網(wǎng)絡(luò),從覆蓋范圍可以分為單個(gè)host上的容器網(wǎng)絡(luò)和跨多個(gè)host的網(wǎng)絡(luò)。
Doker在安裝的時(shí)候會(huì)自動(dòng)在host上創(chuàng)建三個(gè)網(wǎng)絡(luò),使用如下命令查看
docker network ls
none 網(wǎng)絡(luò)
故名思議,none 網(wǎng)絡(luò)就是什么都沒有的網(wǎng)絡(luò)。掛在這個(gè)網(wǎng)絡(luò)下的容器除了 lo,沒有其他任何網(wǎng)卡。容器創(chuàng)建時(shí),可以通過 --network=none 指定使用 none 網(wǎng)絡(luò)。
該網(wǎng)絡(luò)一般應(yīng)用到一些對(duì)安全性要求高并且不需要聯(lián)網(wǎng)的應(yīng)用,比如某個(gè)容器的唯一用途是生成隨機(jī)密碼,就可以放到 none 網(wǎng)絡(luò)中避免密碼被竊取
host 網(wǎng)絡(luò)
連接到 host 網(wǎng)絡(luò)的容器共享 Docker host 的網(wǎng)絡(luò)棧,容器的網(wǎng)絡(luò)配置與 host 完全一樣??梢酝ㄟ^ --network=host 指定使用 host 網(wǎng)絡(luò)。
在容器中可以看到 host 的所有網(wǎng)卡,并且連 hostname 也是 host 的。host 網(wǎng)絡(luò)的使用場景如下:
直接使用 Docker host 的網(wǎng)絡(luò)大的好處就是性能,如果容器對(duì)網(wǎng)絡(luò)傳輸效率有較高要求,則可以選擇 host 網(wǎng)絡(luò)。當(dāng)然不便之處就是犧牲一些靈活性,比如要考慮端口沖突問題,Docker host 上已經(jīng)使用的端口就不能再用了。
Docker host 的另一個(gè)用途是讓容器可以直接配置 host 網(wǎng)路。比如某些跨 host 的網(wǎng)絡(luò)解決方案,其本身也是以容器方式運(yùn)行的,這些方案需要對(duì)網(wǎng)絡(luò)進(jìn)行配置,比如管理 iptables。
brige網(wǎng)絡(luò)操作
brige網(wǎng)絡(luò)是應(yīng)用最廣泛的網(wǎng)絡(luò)類型。
Docker 安裝時(shí)會(huì)創(chuàng)建一個(gè) 命名為 docker0 的 linux bridge。如果不指定--network,創(chuàng)建的容器默認(rèn)都會(huì)掛到 docker0 上。
brctl show
當(dāng)前docker0上沒有任何其他網(wǎng)絡(luò)設(shè)備
創(chuàng)建一個(gè)名為net1的Bridge網(wǎng)絡(luò)
docker network create net1
查看net網(wǎng)橋,subnet已經(jīng)自動(dòng)配置為
docker network inspect net1
創(chuàng)建一個(gè)名為net2的bridge網(wǎng)橋,指定subnet=172.10.10.0/24
docker network create --driver bridage --subnet 172.10.10.0/24 --gateway 172.10.10.1 net2
啟動(dòng)名為centos1的容器,并加入net1網(wǎng)絡(luò)
docker run --name centos1 -dit --network=net1 centos
啟動(dòng)名為centos2的容器,并加入net2網(wǎng)絡(luò)
啟動(dòng)名為centos3的容器,并加入net2網(wǎng)絡(luò),同時(shí)指定該容器IP=172.10.10.10docker run --name centos3 -dit --network=net2 --ip 172.10.10.10 centos
分別查看3個(gè)centos容器的IP地址信息。其中cnetos2和centos3位于同一網(wǎng)段,centos1與前兩者位于不同網(wǎng)段docker inspect centos1
docker inspect centos2
docker inspect centos3
以下面這張圖來理解bridge網(wǎng)絡(luò)
容器主要是通過veth pair連接到 brigde網(wǎng)絡(luò),它是一對(duì)成對(duì)出現(xiàn)的特殊網(wǎng)絡(luò)設(shè)備,簡單可以理解為由一根虛擬網(wǎng)線連接起來的一堆網(wǎng)卡,網(wǎng)卡的一頭(如eth@if34)在容器中,另外一頭(如veth38c57df)掛在網(wǎng)橋docker0上
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:docker學(xué)習(xí)-bridge網(wǎng)絡(luò)-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://www.dlmjj.cn/article/pchoj.html