本篇內(nèi)容介紹了“docker容器怎么連接公共網(wǎng)絡(luò)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)是一家專業(yè)提供富縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為富縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。默認(rèn)情況下,容器可以建立到外部網(wǎng)絡(luò)的連接,但是外部網(wǎng)絡(luò)無(wú)法連接到容器。docker 允許通過(guò)外部訪問(wèn)容器或容器互聯(lián)的方式來(lái)提供網(wǎng)絡(luò)服務(wù)。
外部訪問(wèn)容器:容器中可以運(yùn)行一些網(wǎng)絡(luò)應(yīng)用,要讓外部也可以訪問(wèn)這些應(yīng)用,可以通過(guò) -P 或 -p 參數(shù)來(lái)指定端口映射。
要實(shí)現(xiàn)網(wǎng)絡(luò)通信,機(jī)器需要至少一個(gè)網(wǎng)絡(luò)接口(物理接口或虛擬接口)來(lái)收發(fā)數(shù)據(jù)包;此外,如果不同子網(wǎng)之間要進(jìn)行通信,需要路由機(jī)制。
Docker 中的網(wǎng)絡(luò)接口默認(rèn)都是虛擬的接口。虛擬接口的優(yōu)勢(shì)之一是轉(zhuǎn)發(fā)效率較高。Linux 通過(guò)在內(nèi)核中進(jìn)行數(shù)據(jù)復(fù)制來(lái)實(shí)現(xiàn)虛擬接口之間的數(shù)據(jù)轉(zhuǎn)發(fā),發(fā)送接口的發(fā)送緩存中的數(shù)據(jù)包被直接復(fù)制到接收接口的接收緩存中。對(duì)于本地系統(tǒng)和容器內(nèi)系統(tǒng)看來(lái)就像是一個(gè)正常的以太網(wǎng)卡,只是它不需要真正同外部網(wǎng)絡(luò)設(shè)備通信,速度要快很多。
Docker 容器網(wǎng)絡(luò)就利用了這項(xiàng)技術(shù)。它在本地主機(jī)和容器內(nèi)分別創(chuàng)建一個(gè)虛擬接口,并讓它們彼此連通(這樣的一對(duì)接口叫做 veth pair)。
創(chuàng)建網(wǎng)絡(luò)參數(shù)
Docker 創(chuàng)建一個(gè)容器的時(shí)候,會(huì)執(zhí)行如下操作:
創(chuàng)建一對(duì)虛擬接口,分別放到本地主機(jī)和新容器中;
本地主機(jī)一端橋接到默認(rèn)的 docker0 或指定網(wǎng)橋上,并具有一個(gè)唯一的名字,如 veth75f9;
容器一端放到新容器中,并修改名字作為 eth0,這個(gè)接口只在容器的名字空間可見(jiàn);
從網(wǎng)橋可用地址段中獲取一個(gè)空閑地址分配給容器的 eth0,并配置默認(rèn)路由到橋接網(wǎng)卡 veth75f9。
完成這些之后,容器就可以使用 eth0 虛擬網(wǎng)卡來(lái)連接其他容器和其他網(wǎng)絡(luò)。
可以在 docker run 的時(shí)候通過(guò) –net 參數(shù)來(lái)指定容器的網(wǎng)絡(luò)配置,有4個(gè)可選值:
–net=bridge 這個(gè)是默認(rèn)值,連接到默認(rèn)的網(wǎng)橋。
–net=host 告訴 Docker 不要將容器網(wǎng)絡(luò)放到隔離的名字空間中,即不要容器化容器內(nèi)的網(wǎng)絡(luò)。此時(shí)容器使用本地主機(jī)的網(wǎng)絡(luò),它擁有完全的本地主機(jī)接口訪問(wèn)權(quán)限。容器進(jìn)程可以跟主機(jī)其它 root 進(jìn)程一樣可以打開(kāi)低范圍的端口,可以訪問(wèn)本地網(wǎng)絡(luò)服務(wù)比如 D-bus,還可以讓容器做一些影響整個(gè)服務(wù)器系統(tǒng)的事情,比如重啟。
–net=container:NAME_or_ID 讓 Docker 將新建容器的進(jìn)程放到一個(gè)已存在容器的網(wǎng)絡(luò)棧中,新容器進(jìn)程有自己的文件系統(tǒng)、進(jìn)程列表和資源限制,但會(huì)和已存在的容器共享 IP 地址和端口等網(wǎng)絡(luò)資源,兩者進(jìn)程可以直接通過(guò) lo 環(huán)回接口通信。
–net=none 讓 Docker 將新容器放到隔離的網(wǎng)絡(luò)棧中,但是不進(jìn)行網(wǎng)絡(luò)配置。之后,用戶可以自己進(jìn)行配置。
“docker容器怎么連接公共網(wǎng)絡(luò)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。