解決docker容器重啟之后/etc下某些配置文件被重置的問題
1.
/etc/hosts, /etc/resolv.conf和/etc/hostname容器中的這三個(gè)文件不存在于鏡像,而是存在于于/var/lib/docker/containers/,在啟動(dòng)容器的時(shí)候,通過mount的形式將這些文件掛載到容器內(nèi)部。
因此,如果在容器中修改這些文件的話,修改部分不會(huì)存在于容器的top layer,而是直接寫入這三個(gè)物理文件中。
2.為什么重啟后修改內(nèi)容不存在了?
原因是:每次Docker在啟動(dòng)容器的時(shí)候,通過重新構(gòu)建新的/etc/hosts文件,這又是為什么呢?
原因是:容器重啟,IP地址為改變,hosts文件中原來的IP地址無(wú)效,因此理應(yīng)修改hosts文件,否則會(huì)產(chǎn)生臟數(shù)據(jù)。
3.有沒有什么好的解決方法?
可以通過docker run命令的–add-host參數(shù)來為容器添加host與ip的映射關(guān)系。
補(bǔ)充:Docker容器中解決重啟配置不生效(source /etc/profile)
問題描述:
docker在使用過程中,有時(shí)候自定義容器實(shí)例中的某些配置文件,例如:/etc/profile,但是修改后,每一次啟動(dòng)都需要手動(dòng) source 一遍令它重新生效,這很繁瑣。
解決方法:
在容器實(shí)例中 ~/.bashrc 配置文件末尾添加 source /etc/profile,保存退出即可。這樣就能夠?qū)崿F(xiàn)重啟后自動(dòng)刷新配置文件,而無(wú)需手動(dòng)操作。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Flask應(yīng)用封裝成Docker服務(wù)的完整操作指南
本文詳細(xì)介紹了如何使用Docker將Flask應(yīng)用容器化,包括實(shí)現(xiàn)原理、詳細(xì)操作步驟、進(jìn)階配置、常見問題及解決方案和生產(chǎn)環(huán)境注意事項(xiàng),需要的朋友可以參考下2025-04-04
教你使用docker安裝elasticsearch和head插件的方法
這篇文章主要介紹了docker安裝elasticsearch和head插件,安裝時(shí)需要下載鏡像和修改系統(tǒng)參數(shù),本文分流程給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
Docker中的容器網(wǎng)絡(luò)以及其配置說明
這篇文章主要介紹了Docker中的容器網(wǎng)絡(luò)以及其配置說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法
這篇文章主要介紹了創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
Docker運(yùn)行Web服務(wù)實(shí)戰(zhàn)之Tomcat的詳細(xì)過程
Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和Java Server Page(JSP)的支持,這篇文章主要介紹了Docker運(yùn)行Web服務(wù)實(shí)戰(zhàn)之Tomcat的詳細(xì)過程,需要的朋友可以參考下2022-08-08

