永久修改Docker容器中hosts文件的三种方法
创作时间:
作者:
@小白创作中心
永久修改Docker容器中hosts文件的三种方法
引用
CSDN
1.
https://blog.csdn.net/a17432025/article/details/138244684
在使用Docker时,有时需要修改容器中的hosts文件。但是,如果容器被重新启动,hosts文件就会被重置。那么,如何才能永久修改hosts文件的条目呢?本文将介绍三种不同的方法。
一、修改docker run参数
这是Docker官方推荐的方法。具体用法如下:
docker run --add-host=www.sina.com.cn:127.0.0.1 xxx -it /bin/bash
这个例子在创建容器时将新浪站点指向本机。如果需要添加多个条目,就增加几个--add-host参数即可。
类似的方法是在容器启动时将该文件挂载到容器内的/etc/hosts文件中,例如:
docker run -v /etc/hosts.container:/etc/hosts ...
这个例子是将宿主机器上的hosts.container文件挂接到容器中。
二、修改compose的yaml文件
利用extra_hosts小节把需要添加的host编写好,创建时就会自动创建/etc/hosts文件。如下所示:
php72:
container_name: "php72"
hostname: "php72"
image: "xxxx"
extra_hosts:
- "www.sina.com.cn:127.0.0.1"
- "www.google.com:127.0.0.1"
volumes:
- xxx:xxx
三、直接修改hostconfig.json
在实际使用中,由于容器已经创建,大家都不太愿意重新创建,以免出现各种兼容性问题。因此,如何在已经创建好的容器里面,永久添加固定的hosts文件条目呢?目前一个可行的办法就是直接修改容器的hostconfig.json文件。具体步骤为:
1.停止docker
此环节必须做,否则任何对hostconfig的修改都无效,会自动改回原来状态。
systemctl stop docker
2.进入容器目录并修改
首先找到容器的目录,进入/var/lib/docker/containers/目录,找到自己的容器目录(一串字母数字),进入后,编辑hostconfig.json
cd /var/lib/docker/containers/xxxxxx
vi hostconfig.json
找到"ExtraHosts":null部分,将其替换为你想添加的hosts小节内容即可,如替换为:
"ExtraHosts":["www.sina.com.cn:172.17.0.1","www.baidu.om:127.0.0.1"]
保存后退出。
3.重启docker
重启docker后完成修改,测试hosts文件已经正式添加到指定容器。
systemctl start docker
下面是一个示例,大家可以试试:
热门推荐
来一场Citywalk!济南老城区规划150公里泉城步道
彻底理解三角函数:一张图带你掌握关键曲线!
社团如何协作:从基础到进阶的全面指南
《寻道大千》至宝装备获取攻略
封神演义中申公豹的悲剧结局,最后是怎么死的?
封神演义中申公豹的悲剧结局,最后是怎么死的?
朱元璋:从放牛娃到明朝开国皇帝的传奇人生
医生大幅涨薪?主任每月10万,副高8万,主治6万!卫健委正式回应薪资改革
手机续航能力不断提升,移动电源或将迎来变革
伟大生物学家,路易.巴斯德,病毒细菌的斗士。
植发手术完全指南:从术前准备到术后护理,你需要知道的一切
IgE升高除过敏性疾病外,还与哪些疾病有关?
步行有13个好处!新的一年,健康从步行开始!
壹邦健康知识:步行好处多 这样走才有效
普通国债的投资优势及风险解析,助你做出明智选择
行业标准化是什么?全面解析其意义、分类与实施方法
Word文档怎么调A4 怎样把WORD设置成A4页面
寿命长短,到底是人为还是早注定?调查发现:决定因素不是吃和运动
详解RSA算法中私钥的计算过程
食品压片机在制备膨化食品中的作用与影响研究
交通事故尸体检验遵循啥标准
孕妇尿检报告单解读:关键指标异常怎么办?
影视剪辑侵权规避指南
痛点管理的项目包括什么
选购净水器别再交智商税,必备功能和无用功能要知道!
为什么伊斯兰教禁食猪肉,甚至汉族娶穆斯林姑娘还得洗胃?
特应性皮炎有救了?干细胞技术或成新选择
强调的艺术:提升语言表达效果
哪些工具可以帮助深入分析竞争对手的不同方面?
白血病治疗新进展:科学用药加心理支持,康复更快更顺利