docker容器/etc/hosts文件修改方法
/etc/hosts
容器的/etc/hosts文件是一個(gè)本地的域名解析文件,用于將主機(jī)名映射到IP地址。在容器內(nèi)部,當(dāng)需要訪(fǎng)問(wèn)其他容器或主機(jī)時(shí),可以通過(guò)/etc/hosts文件來(lái)解析主機(jī)名,從而實(shí)現(xiàn)網(wǎng)絡(luò)通信。
具體來(lái)說(shuō),當(dāng)容器需要訪(fǎng)問(wèn)其他容器或主機(jī)時(shí),會(huì)先在自己的/etc/hosts文件中查找對(duì)應(yīng)的主機(jī)名和IP地址的映射關(guān)系。如果找到了,就直接使用該IP地址進(jìn)行通信;如果沒(méi)有找到,則會(huì)將請(qǐng)求發(fā)送到DNS服務(wù)器進(jìn)行解析。
在容器中,通常會(huì)將主機(jī)名和IP地址的映射關(guān)系寫(xiě)入/etc/hosts文件中,以提高網(wǎng)絡(luò)訪(fǎng)問(wèn)的效率和穩(wěn)定性。例如,如果容器需要訪(fǎng)問(wèn)主機(jī)上的某個(gè)服務(wù),可以將主機(jī)名和IP地址的映射關(guān)系寫(xiě)入/etc/hosts文件中,這樣容器就可以直接使用IP地址進(jìn)行訪(fǎng)問(wèn),而無(wú)需通過(guò)DNS服務(wù)器進(jìn)行解析。
總之,容器的/etc/hosts文件是一個(gè)非常重要的文件,它可以幫助容器實(shí)現(xiàn)網(wǎng)絡(luò)通信,并提高網(wǎng)絡(luò)訪(fǎng)問(wèn)的效率和穩(wěn)定性。
為什么更改/etc/hosts后重啟容器,更改內(nèi)容會(huì)消失?因?yàn)槭桥R時(shí)文件
容器內(nèi)的/etc/hosts文件是臨時(shí)的,容器重啟后會(huì)被重置。如果需要在容器內(nèi)永久保存修改后的/etc/hosts文件,可以將其掛載到宿主機(jī)上的一個(gè)文件中,然后在容器啟動(dòng)時(shí)將該文件掛載到容器內(nèi)的/etc/hosts文件中。
具體操作可以參考以下步驟:
- 在宿主機(jī)上創(chuàng)建一個(gè)文件,例如/etc/hosts.container,用于保存容器內(nèi)的/etc/hosts文件。
- 在容器啟動(dòng)時(shí)將該文件掛載到容器內(nèi)的/etc/hosts文件中,例如:
docker run -v /etc/hosts.container:/etc/hosts ...
3.在容器內(nèi)修改/etc/hosts文件時(shí),實(shí)際上是修改了宿主機(jī)上的/etc/hosts.container文件,這樣即使容器重啟,修改后的/etc/hosts文件也能夠被保留下來(lái)。
注意:如果在容器內(nèi)修改了/etc/hosts文件,需要手動(dòng)同步到宿主機(jī)上的/etc/hosts.container文件中,否則容器重啟后修改將會(huì)丟失。
(但是用掛載的方式,貌似容器一些自己生成的內(nèi)容沒(méi)法保留,參見(jiàn)下面)
我/etc/hosts文件原內(nèi)容
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.11 27b6fb63ce7d
各自作用如下:
- 127.0.0.1 localhost:將localhost映射到本地回環(huán)地址,即127.0.0.1,用于本地測(cè)試和開(kāi)發(fā)。
- ::1 localhost ip6-localhost ip6-loopback:將IPv6的localhost地址映射到本地回環(huán)地址,用于IPv6的本地測(cè)試和開(kāi)發(fā)。
- fe00::0 ip6-localnet:將IPv6的本地網(wǎng)絡(luò)地址映射到fe00::0,用于IPv6的本地網(wǎng)絡(luò)通信。
- ff00::0 ip6-mcastprefix:將IPv6的多播地址映射到ff00::0,用于IPv6的多播通信。
- ff02::1 ip6-allnodes:將IPv6的所有節(jié)點(diǎn)地址映射到ff02::1,用于IPv6的節(jié)點(diǎn)通信。
- ff02::2 ip6-allrouters:將IPv6的所有路由器地址映射到ff02::2,用于IPv6的路由器通信。
- 172.17.0.11 27b6fb63ce7d:將容器ID為27b6fb63ce7d的容器的IP地址映射到172.17.0.11,用于容器之間的通信。
如果將這些映射關(guān)系刪除,可能會(huì)對(duì)容器的網(wǎng)絡(luò)通信產(chǎn)生影響。例如,如果刪除了127.0.0.1 localhost的映射關(guān)系,容器可能無(wú)法通過(guò)localhost訪(fǎng)問(wèn)本地服務(wù);如果刪除了172.17.0.11 27b6fb63ce7d的映射關(guān)系,容器可能無(wú)法與其他容器進(jìn)行通信。因此,建議不要隨意修改/etc/hosts文件中的內(nèi)容,以免影響容器的正常運(yùn)行。
cw讓添加下面這個(gè)進(jìn)去,但是我從外面掛載進(jìn)去后,進(jìn)入容器發(fā)現(xiàn)上面的沒(méi)有自動(dòng)生成,不知道有沒(méi)有問(wèn)題。
172.16.80.201 xqplatformIp
所以我懷疑,之前生成內(nèi)容的操作,容器是在做掛載之前完成的。
要不把echo "172.16.80.201 xqplatformIp" >> /etc/hosts加到容器啟動(dòng)運(yùn)行腳本entrypoint.sh中?
這樣做也可以,但是cw說(shuō)沒(méi)影響,那暫時(shí)不做了。
到此這篇關(guān)于docker容器/etc/hosts文件的文章就介紹到這了,更多相關(guān)docker容器/etc/hosts文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Dockerfile文件編寫(xiě)實(shí)戰(zhàn)練習(xí)及注意事項(xiàng)
Dockerfile?是一個(gè)用于構(gòu)建?Docker?鏡像的文本文件,通過(guò)一系列指令來(lái)定義鏡像的構(gòu)建過(guò)程,這篇文章主要介紹了Dockerfile文件編寫(xiě)實(shí)戰(zhàn)練習(xí)及注意事項(xiàng)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
docker 安裝部署 Prometheus 與grafana的詳細(xì)過(guò)程
本文給大家詳細(xì)介紹了如何在CentOS 7上使用Docker和Docker Compose安裝和配置Prometheus和Grafana,并展示了如何進(jìn)行基本的監(jiān)控配置和數(shù)據(jù)可視化,感興趣的朋友跟隨小編一起看看吧2024-12-12
將一個(gè)已有的應(yīng)用程序遷移到Docker容器中
本文主要介紹了將一個(gè)已有的應(yīng)用程序遷移到Docker容器中,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-06-06
Docker overlay 網(wǎng)絡(luò)搭建的方法
Overlay網(wǎng)絡(luò)是指通過(guò)在現(xiàn)有網(wǎng)絡(luò)上疊加一個(gè)軟件定義的邏輯網(wǎng)絡(luò),這篇文章主要介紹了Docker overlay 網(wǎng)絡(luò)搭建的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Docker Compose實(shí)現(xiàn)秒級(jí)擴(kuò)容的方法步驟
本文主要介紹了Docker Compose實(shí)現(xiàn)秒級(jí)擴(kuò)容的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
在Centos7中安裝Docker1.12的詳細(xì)教程
本篇文章主要介紹了在Centos7中安裝Docker1.12的詳細(xì)教程。具有一定的參考價(jià)值,有興趣的可以了解一下。2017-02-02

