解决docker容器重启之后etc下某些配置文件被重置的问题
解决docker容器重启之后etc下某些配置⽂件被重置的问
1.
/etc/hosts, /f和/etc/hostname容器中的这三个⽂件不存在于镜像,⽽是存在于于/var/lib/docker/containers/,在启动容器的时候,通过mount的形式将这些⽂件挂载到容器内部。
因此,如果在容器中修改这些⽂件的话,修改部分不会存在于容器的top layer,⽽是直接写⼊这三个物理⽂件中。
2.为什么重启后修改内容不存在了?
原因是:每次Docker在启动容器的时候,通过重新构建新的/etc/hosts⽂件,这⼜是为什么呢?
原因是:容器重启,IP地址为改变,hosts⽂件中原来的IP地址⽆效,因此理应修改hosts⽂件,否则会产⽣脏数据。
3.有没有什么好的解决⽅法?
etc被拉入黑名单了怎么办
可以通过docker run命令的–add-host参数来为容器添加host与ip的映射关系。
补充:Docker容器中解决重启配置不⽣效(source /etc/profile)
问题描述:
docker在使⽤过程中,有时候⾃定义容器实例中的某些配置⽂件,例如:/etc/profile,但是修改后,每⼀次启动都需要⼿动source ⼀遍令它重新⽣效,这很繁琐。
解决⽅法:
在容器实例中 ~/.bashrc 配置⽂件末尾添加 source /etc/profile,保存退出即可。这样就能够实现重启后⾃动刷新配置⽂件,⽽⽆需⼿动操作。
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。