一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識 - docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作

docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作

2021-06-20 17:33心飛路漫 服務(wù)器知識

這篇文章主要介紹了docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

在 docker-compose.yml 中增加 extra_hosts 關(guān)鍵字就可以將數(shù)據(jù)寫入到容器的 /etc/hosts。

?
1
extra_hosts

添加主機(jī)名映射。

extra_hosts:

“somehost:162.242.195.82”

“otherhost:50.31.209.229”

將會在/etc/hosts創(chuàng)建記錄:

162.242.195.82 somehost

50.31.209.229 otherhost

注意:

如果指向的是本機(jī),不要寫容器的ip,(因?yàn)镮P重啟后會變,除非你給容器設(shè)置固定ip)而是寫宿主機(jī)的ip,如192.168.xxx.xxx

補(bǔ)充:Docker 網(wǎng)絡(luò):host模式

當(dāng)我們準(zhǔn)備將Docker技術(shù)應(yīng)用到生產(chǎn)級別的場景時,我們需要了解很多網(wǎng)絡(luò)方面的知識。網(wǎng)絡(luò)是Docker中相對比較薄弱的部分,我們有必要了解Docker的網(wǎng)絡(luò)知識,以滿足更高的網(wǎng)絡(luò)需求。

本節(jié)先對Docker網(wǎng)絡(luò)模型中的host模型進(jìn)行理論介紹,再通過案例的實(shí)操,讓您更好地去理解docker網(wǎng)絡(luò)模型。

Docker網(wǎng)絡(luò)

當(dāng)你安裝完Docker時,它會自動創(chuàng)建三個網(wǎng)絡(luò)。你可以使用以下docker network ls命令列出這些網(wǎng)絡(luò):

?
1
docker network ls

結(jié)果應(yīng)如下

?
1
2
3
4
NETWORK ID     NAME        DRIVER       SCOPE
594430d2d4bb    bridge       bridge       local
d855b34c5d51    host        host        local
b1ecee29ed5e    none        null        local

Docker內(nèi)置這三個網(wǎng)絡(luò),運(yùn)行容器時,你可以使用該來指定容器應(yīng)連接到哪些網(wǎng)絡(luò)。

我們在使用docker run創(chuàng)建Docker容器時,可以用--network標(biāo)志 選項(xiàng)指定容器的網(wǎng)絡(luò)模式,Docker有以下4種網(wǎng)絡(luò)模式:

host模式:使用 --net=host 指定。

none模式:使用 --net=none 指定。

bridge模式:使用 --net=bridge 指定,默認(rèn)設(shè)置。

container模式:使用 --net=container:NAME_or_ID 指定。

host模式

Docker使用了Linux的Namespaces技術(shù)來進(jìn)行資源隔離,如PID Namespace隔離進(jìn)程,Mount Namespace隔離文件系統(tǒng),Network Namespace隔離網(wǎng)絡(luò)等。一個Network Namespace提供了一份獨(dú)立的網(wǎng)絡(luò)環(huán)境,包括網(wǎng)卡、路由、Iptable規(guī)則等都與其他的Network Namespace隔離。

host模式類似于Vmware的橋接模式,與宿主機(jī)在同一個網(wǎng)絡(luò)中,但沒有獨(dú)立IP地址。一個Docker容器一般會分配一個獨(dú)立的Network Namespace。

但如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個Network Namespace。容器將不會虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口。

如下圖所示:容器與主機(jī)在相同的網(wǎng)絡(luò)命名空間下面,使用相同的網(wǎng)絡(luò)協(xié)議棧,容器可以直接使用主機(jī)的所有網(wǎng)絡(luò)接口

docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作

案例驗(yàn)證

查看主機(jī)鏈路接口

?
1
ip a

我們右側(cè)云環(huán)境主機(jī)的IP為{host0.ip}/24上用host模式啟動nginx容器,監(jiān)聽它的tcp80端口。

使用--net host參數(shù)來指定網(wǎng)絡(luò)模型使用host模式

?
1
docker run --name=nginx --net=host -p 80:80 -d nginx

查看容器鏈路接口,與主機(jī)一致

?
1
docker exec -it nginx cat /etc/hosts

這時外界要訪問容器中的應(yīng)用,則直接使用{host0.ip}:80即可,不用任何NAT轉(zhuǎn)換,就像直接跑在宿主機(jī)中一樣。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。

?
1
curl {host0.ip}

總結(jié)

host 模式簡單并且性能高,host 模式下面的網(wǎng)絡(luò)模型是最簡單和最低延遲的模式,容器進(jìn)程直接與主機(jī)網(wǎng)絡(luò)接口通信,與物理機(jī)性能一致,host 不利于網(wǎng)絡(luò)自定配置和管理,并且所有主機(jī)的容器使用相同的IP。

也不利于主機(jī)資源的利用。對網(wǎng)絡(luò)性能要求比較高,可以使用該模式。否則應(yīng)該使用其他模式

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://liruzhen.blog.csdn.net/article/details/85654764

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一卡2卡3卡无卡 | 教练你好大轻点漫 | 调教老师肉色丝袜的故事 | 貂蝉沦为姓奴小说 | 黄 在线播放 | 国产成人精品福利色多多 | 国产精品1 | 国产精品久久久久久岛国 | 玩两个少妇女邻居 | 日本在线观看免费高清 | 精品无码久久久久久久久 | 91寡妇天天综合久久影院 | 精品国产人妻国语 | 波多野结衣两女调教 | 亚洲不卡视频在线观看 | 亚洲精品久久久久AV无码 | 男神插曲女生动漫完整版动漫 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | voyeur 中国女厕 亚洲女厕 | 男人猛激烈吃奶gif动态图 | 农村妇女野外牲交一级毛片 | 国产精品高清一区二区三区 | 性美国人xxxxx18 | 国产在线视频第一页 | 亚洲精品午夜级久久久久 | 欧美一区二区三 | 青草国产 | 99久久香蕉| 精品国产免费久久久久久婷婷 | 日韩在线中文字幕 | 无码乱人伦一区二区亚洲 | 免费一级片在线观看 | 国产成人在线免费观看 | 色综合中文字幕天天在线 | 欧美精品综合一区二区三区 | 草草草草视频 | 亚洲激情视频在线 | 大乳一级一区二区三区 | 欧美18~20性hd | 2022av小四郎的最新地址 | 亚洲国产精品久久网午夜 |