docker容器如何連接公共網(wǎng)絡

發(fā)布時間:2024-02-15
docker容器如何連接公共網(wǎng)絡?默認情況下,容器可以建立到外部網(wǎng)絡的連接,但是外部網(wǎng)絡無法連接到容器。docker 允許通過外部訪問容器或容器互聯(lián)的方式來提供網(wǎng)絡服務。
外部訪問容器:容器中可以運行一些網(wǎng)絡應用,要讓外部也可以訪問這些應用,可以通過 -p 或 -p 參數(shù)來指定端口映射。
要實現(xiàn)網(wǎng)絡通信,機器需要至少一個網(wǎng)絡接口(物理接口或虛擬接口)來收發(fā)數(shù)據(jù)包;此外,如果不同子網(wǎng)之間要進行通信,需要路由機制。
docker 中的網(wǎng)絡接口默認都是虛擬的接口。虛擬接口的優(yōu)勢之一是轉(zhuǎn)發(fā)效率較高。linux 通過在內(nèi)核中進行數(shù)據(jù)復制來實現(xiàn)虛擬接口之間的數(shù)據(jù)轉(zhuǎn)發(fā),發(fā)送接口的發(fā)送緩存中的數(shù)據(jù)包被直接復制到接收接口的接收緩存中。對于本地系統(tǒng)和容器內(nèi)系統(tǒng)看來就像是一個正常的以太網(wǎng)卡,只是它不需要真正同外部網(wǎng)絡設備通信,速度要快很多。
docker 容器網(wǎng)絡就利用了這項技術(shù)。它在本地主機和容器內(nèi)分別創(chuàng)建一個虛擬接口,并讓它們彼此連通(這樣的一對接口叫做 veth pair)。
創(chuàng)建網(wǎng)絡參數(shù)
docker 創(chuàng)建一個容器的時候,會執(zhí)行如下操作:
創(chuàng)建一對虛擬接口,分別放到本地主機和新容器中;
本地主機一端橋接到默認的 docker0 或指定網(wǎng)橋上,并具有一個唯一的名字,如 veth65f9;
容器一端放到新容器中,并修改名字作為 eth0,這個接口只在容器的名字空間可見;
從網(wǎng)橋可用地址段中獲取一個空閑地址分配給容器的 eth0,并配置默認路由到橋接網(wǎng)卡 veth65f9。
完成這些之后,容器就可以使用 eth0 虛擬網(wǎng)卡來連接其他容器和其他網(wǎng)絡。
可以在 docker run 的時候通過 –net 參數(shù)來指定容器的網(wǎng)絡配置,有4個可選值:
–net=bridge 這個是默認值,連接到默認的網(wǎng)橋。
–net=host 告訴 docker 不要將容器網(wǎng)絡放到隔離的名字空間中,即不要容器化容器內(nèi)的網(wǎng)絡。此時容器使用本地主機的網(wǎng)絡,它擁有完全的本地主機接口訪問權(quán)限。容器進程可以跟主機其它 root 進程一樣可以打開低范圍的端口,可以訪問本地網(wǎng)絡服務比如 d-bus,還可以讓容器做一些影響整個服務器系統(tǒng)的事情,比如重啟。
–net=container:name_or_id 讓 docker 將新建容器的進程放到一個已存在容器的網(wǎng)絡棧中,新容器進程有自己的文件系統(tǒng)、進程列表和資源限制,但會和已存在的容器共享 ip 地址和端口等網(wǎng)絡資源,兩者進程可以直接通過 lo 環(huán)回接口通信。
–net=none 讓 docker 將新容器放到隔離的網(wǎng)絡棧中,但是不進行網(wǎng)絡配置。之后,用戶可以自己進行配置。
西部數(shù)碼的容器云是通過docker技術(shù),在集群服務器上部署容器服務實現(xiàn),擁有上萬linux鏡像,功能強大、輕量靈活,可輕松作集群服務,自由輕松搭建私有網(wǎng)絡。
高性價比的容器云產(chǎn)品鏈接 https://www.west.cn/paas/container/
上一個:手機刷機失敗了怎么辦,手機刷機失敗怎么救
下一個:華碩k43t鍵盤拆解圖解(華碩k43s筆記本鍵盤拆卸)

論道:中國茶文化的靈魂出竅
建設工程項目代表應具備的綜合能力和素質(zhì)
如何關閉win7無線網(wǎng)絡連接(win7怎么關閉wifi)
甘菊茶可以減輕某些疾病
高功率貼片電阻價格為什么比較貴?
厚聲201007J010KT4S今日行情、最新報價
win10開始菜單左鍵點擊無效(win10左鍵點開始菜單沒用,右鍵有用)
目前市場上什么手機好(目前市場買什么牌子手機比較好)
交通事故交警部門多長時間出責任認定書
華為手機怎么消除手機上的懸浮圓球(華為手機懸浮小圓點怎么關閉)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos