永久修改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
下面是一个示例,大家可以试试:
热门推荐
动态GPU分配技术:知多少?
薪酬绩效计算表中的数据来源是什么?
阳气越少汗越多,张仲景只用两味药,阳气足了,汗也少了
哪些游戏有种族特色
姜子牙:智慧的化身与神话的传奇
AIGC实践|探索用AI做包装设计全流程
NBA的金字招牌挡不住流量焦虑,全明星赛赛制“爆改”不停
青岛大学共有三个校区,分别是什么?
《史记》里的历史故事,推动了这些著名戏剧的产生!
鬼谷八荒乌风草获取攻略 鬼谷八荒手游乌风草怎么获得
《倚天屠龙记》周芷若:一个复杂角色的多维剖析
银行卡长期不存钱不销户,会欠银行钱吗?今天总算清楚,别忽视了,你怎么看?
一文带你吃透GCSE地理:从课程到备考全解析
揭秘温血海洋生物:翻车鱼的独特生理机制
中药科普活动方案策划书
一到夜里血糖就高?试试这7招,让你夜间血糖稳稳哒!
前端如何下载网页源码
城市发展的评估与预测方法是什么?这些方法如何指导城市规划?
手机如何看云盘cad
近20年高水准的10部大胆美剧,有深度有观赏性,错过实在可惜了
省三等奖比赛含金量分析:获奖好处及升学优势
当"老二次元"遇上"新二次元黑话":一场跨越代沟的文化碰撞
Excel字数统计完全指南:公式、宏和第三方工具的多种解决方案
五行属土和火的字有哪些
“suck”在英语中的多样用法与情感表达解析与应用技巧探讨
年检办理指南:选择地点、准备材料及注意事项详解
如何顺利申请新能源指标?申请过程中有哪些要点需注意?
大一转专业需要准备什么?具体怎么转?
如何客观评估债券的投资价值?这种评估方法有哪些需要改进的地方?
心阴虚的症状及治疗方法