解決docker容器重啟之后/etc下某些配置文件被重置的問題
/etc/hosts, /etc/resolv.conf和/etc/hostname容器中的這三個文件不存在于鏡像,而是存在于于/var/lib/docker/containers/,在啟動容器的時候,通過mount的形式將這些文件掛載到容器內(nèi)部。
因此,如果在容器中修改這些文件的話,修改部分不會存在于容器的top layer,而是直接寫入這三個物理文件中。
2.為什么重啟后修改內(nèi)容不存在了?原因是:每次Docker在啟動容器的時候,通過重新構(gòu)建新的/etc/hosts文件,這又是為什么呢?
原因是:容器重啟,IP地址為改變,hosts文件中原來的IP地址無效,因此理應(yīng)修改hosts文件,否則會產(chǎn)生臟數(shù)據(jù)。
3.有沒有什么好的解決方法?可以通過docker run命令的?add-host參數(shù)來為容器添加host與ip的映射關(guān)系。
補充:Docker容器中解決重啟配置不生效(source /etc/profile)
問題描述:docker在使用過程中,有時候自定義容器實例中的某些配置文件,例如:/etc/profile,但是修改后,每一次啟動都需要手動 source 一遍令它重新生效,這很繁瑣。
解決方法:在容器實例中 ~/.bashrc 配置文件末尾添加 source /etc/profile,保存退出即可。這樣就能夠?qū)崿F(xiàn)重啟后自動刷新配置文件,而無需手動操作。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 在Android中使用WebSocket實現(xiàn)消息通信的方法詳解2. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解3. Yii2.0引入CSS,JS文件方法4. JSP數(shù)據(jù)交互實現(xiàn)過程解析5. Python importlib動態(tài)導(dǎo)入模塊實現(xiàn)代碼6. vue使用webSocket更新實時天氣的方法7. 淺談python出錯時traceback的解讀8. android studio 打包自動生成版本號與日期,apk輸入路徑詳解9. Nginx+php配置文件及原理解析10. JavaMail 1.4 發(fā)布
