解決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地址無效,因此理應(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)刷新配置文件,而無需手動(dòng)操作。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。