永久修改Docker中hosts文件的方法
创作时间:
作者:
@小白创作中心
永久修改Docker中hosts文件的方法
引用
CSDN
1.
https://m.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
下面是我的游戏示例,大家可以试试:
热门推荐
视盘水肿的症状表现
7种常见梦境 反映你的生活压力过大

药物过敏症状多久消失?全面解析药物过敏的原因、症状与应对方法
口部操主要锻炼什么,主要锻炼口部的口腔状态
笔记本电脑摄像头未检测到怎么办?5个小技巧,快速解决
汇川伺服调试诀窍
告别春困,活力满格!雨水节气养生全攻略
香港博士后签证办理流程
FMEA与智能机器人:提升机器人可靠性与安全性的关键
如何保证房屋装修后的空气流通?这样的通风效果如何保持?
装修后何时进行空气质量检测,以确保居住环境的安全与健康?
腋下淋巴结节怎么区分良性和恶性
会计必学!Excel制作支付证明单
常见芒果有哪些品种?怎么挑才好吃又甜
海南包月旅游全攻略:价格、住宿、联系方法一文详解
《风云》步惊云对爱执着追求 走进云与三女子的悲恋
用电脑制作工资表的步骤与技巧
5厘米脂肪瘤算大吗?一文读懂
车辆6年之后年检多久一次?年检不合格会怎样?
父母坐过牢孩子能考公务员吗?就业选择全解析
家里有人犯罪记录对报考公务员的影响及大专生公务员职位选择指南:2024年解析
宋朝传统版《百家姓》,第198名,“陆姓”的起源和历史,你知道吗
七龙珠:跨越四十年的传奇,从地球到宇宙的热血冒险
意大利与北方文艺复兴艺术:有何区别?
如何介绍自己的团队组织
建筑资质升级申请2025年需要具备的条件和基本流程
如何理解基金定投的长期收益?基金定投如何优化投资策略?
哮喘有遗传吗
你的鞋子正在暴露你的身份!
2024年珠海楼市回顾:房价下跌,网签量创新低,库存压力增加