91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker中怎么對hosts進行修改

發布時間:2021-07-27 17:18:42 來源:億速云 閱讀:247 作者:Leah 欄目:大數據

本篇文章為大家展示了Docker中怎么對hosts進行修改,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Docker修改hosts?這還不簡單,打開vim直接敲就完事兒了!然而事與愿違,事情沒有我們想的那么簡單。在很多場景中,比如我們需要搭建一個集群,這時候容器要識別集群內的節點,就需要添加相應的host解析。這時就需要修改容器的hosts文件,下面我們將會看到在Docker中自動化實現修改hosts不是那么簡單的事。

問題的由來

hosts文件其實并不是存儲在Docker鏡像中的,/etc/hosts, /etc/resolv.conf和/etc/hostname,是存在主機上的/var/lib/docker/containers/(docker_id)目錄下,容器啟動時是通過mount將這些文件掛載到容器內部的。因此如果在容器中修改這些文件,修改部分不會存在于容器的top layer,而是直接寫入這3個文件中。容器重啟后修改內容不存在的原因是Docker每次創建新容器時,會根據當前docker0下的所有節點的IP信息重新建立hosts文件。也就是說,你的修改會被Docker給自動覆蓋掉。

解決辦法

修改hosts一眼看上去是一件很容易的事,根據上面的分析其實不是那么簡單的,如果一個分布式系統在數十個節點上,每次重新啟動都要去修改hosts顯得很麻煩,如何解決這一問題,目前有以下辦法。

開啟時加參數

開啟容器時候添加參數—add-host machine:ip可以實現hosts修改,在容器中可以識別machine主機。缺點是很多個節點的話命令會很長,有點不舒服(當然,你可以寫一個腳本了)。

進入容器修改

進入容器后可以用各種編輯器編輯修改hosts文件,這樣是最簡單粗暴的方式,缺點就是每次啟動容器都要修改一次。

dnsmasq

在每個容器中開啟dnsmasq開負責局域網內的容器節點主機名解析,但是這種方式在跨物理機的時候,好像不是很方便(具體情況還沒有實踐過,挖坑日后再填)。可以參考一下kiwenlau的工作

修改容器hosts查找目錄

我們可以想辦法讓容器開啟時候,不去找/etc/hosts文件,而是去找我們自己定義的hosts文件,下面是一個Dockerfile實例

1234567
FROM ubuntu:14.04RUN cp /etc/hosts /tmp/hosts #路徑長度最好保持一致RUN mkdir -p -- /lib-override && cp /lib/x86_64-linux-gnu/libnss_files.so.2 /lib-overrideRUN sed -i 's:/etc/hosts:/tmp/hosts:g' /lib-override/libnss_files.so.2ENV LD_LIBRARY_PATH /lib-overrideRUN echo "192.168.0.1 node1" >> /tmp/hosts #可以隨意修改/tmp/hosts了...

這樣修改后,容器每次啟動時就不去找/etc/hosts了,而是我們自己定義的/tmp/hosts,可以隨心所欲在其中修改了

小結

以上問題可以用于跨主機部署分布式Docker集群,結合之前的跨物理機Docker網絡互聯,便可以實現快速高效部署分布式集群

原文鏈接:

https://wongxingjun.github.io

-更多文章-

Spring Cloud GateWay初體驗

Kubernetes基礎與架構

對業務系統的監控 No.118

Kubernetes對象模型

拜托!面試請不要再問我Spring Cloud底層原理

【性能優化之道】每秒上萬并發下的Spring Cloud參數優化實戰

Docker 核心技術與實現原理

學習別跟我談興趣 No.88

條件注解 @ConditionalOnBean 的正確使用姿勢

分布式事務的實現原理

條件注解 @ConditionalOnBean 的正確使用姿勢

上述內容就是Docker中怎么對hosts進行修改,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沧源| 清镇市| 盘锦市| 深泽县| 库车县| 桐梓县| 廉江市| 鹤山市| 莱芜市| 盘锦市| 宁陕县| 临海市| 西乌珠穆沁旗| 萝北县| 临高县| 潢川县| 五家渠市| 青川县| 科技| 东乌珠穆沁旗| 肃南| 邵东县| 盐山县| 桓台县| 浦北县| 镇康县| 景洪市| 华宁县| 马公市| 和平县| 韶关市| 巴彦县| 中西区| 南投市| 绿春县| 南丰县| 海兴县| 宜良县| 黑山县| 吴旗县| 林口县|