千家信息网

Docker中怎么对hosts进行修改

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章为大家展示了Docker中怎么对hosts进行修改,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Docker修改hosts?这还不简单,打开vim直接
千家信息网最后更新 2026年11月02日Docker中怎么对hosts进行修改

本篇文章为大家展示了Docker中怎么对hosts进行修改,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Docker修改hosts?这还不简单,打开vim直接敲就完事儿了!然而事与愿违,事情没有我们想的那么简单。在很多场景中,比如我们需要搭建一个集群,这时候容器要识别集群内的节点,就需要添加相应的host解析。这时就需要修改容器的hosts文件,下面我们将会看到在Docker中自动化实现修改hosts不是那么简单的事。

问题的由来

hosts文件其实并不是存储在Docker镜像中的,/etc/hosts, /etc/resolv.conf和/etc/hostname,是存在主机上的/var/lib/docker/containers/(docker_id)目录下,容器启动时是通过mount将这些文件挂载到容器内部的。因此如果在容器中修改这些文件,修改部分不会存在于容器的top layer,而是直接写入这3个文件中。容器重启后修改内容不存在的原因是Docker每次创建新容器时,会根据当前docker0下的所有节点的IP信息重新建立hosts文件。也就是说,你的修改会被Docker给自动覆盖掉。

解决办法

修改hosts一眼看上去是一件很容易的事,根据上面的分析其实不是那么简单的,如果一个分布式系统在数十个节点上,每次重新启动都要去修改hosts显得很麻烦,如何解决这一问题,目前有以下办法。

开启时加参数

开启容器时候添加参数-add-host machine:ip可以实现hosts修改,在容器中可以识别machine主机。缺点是很多个节点的话命令会很长,有点不舒服(当然,你可以写一个脚本了)。

进入容器修改

进入容器后可以用各种编辑器编辑修改hosts文件,这样是最简单粗暴的方式,缺点就是每次启动容器都要修改一次。

dnsmasq

在每个容器中开启dnsmasq开负责局域网内的容器节点主机名解析,但是这种方式在跨物理机的时候,好像不是很方便(具体情况还没有实践过,挖坑日后再填)。可以参考一下kiwenlau的工作

修改容器hosts查找目录

我们可以想办法让容器开启时候,不去找/etc/hosts文件,而是去找我们自己定义的hosts文件,下面是一个Dockerfile实例

1234567
FROM ubuntu:14.04RUN cp /etc/hosts /tmp/hosts #路径长度最好保持一致RUN mkdir -p -- /lib-override && cp /lib/x86_64-linux-gnu/libnss_files.so.2 /lib-overrideRUN sed -i 's:/etc/hosts:/tmp/hosts:g' /lib-override/libnss_files.so.2ENV LD_LIBRARY_PATH /lib-overrideRUN echo "192.168.0.1 node1" >> /tmp/hosts #可以随意修改/tmp/hosts了...

这样修改后,容器每次启动时就不去找/etc/hosts了,而是我们自己定义的/tmp/hosts,可以随心所欲在其中修改了

小结

以上问题可以用于跨主机部署分布式Docker集群,结合之前的跨物理机Docker网络互联,便可以实现快速高效部署分布式集群

原文链接:

https://wongxingjun.github.io

-更多文章-

Spring Cloud GateWay初体验

Kubernetes基础与架构

对业务系统的监控 No.118

Kubernetes对象模型

拜托!面试请不要再问我Spring Cloud底层原理

【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

Docker 核心技术与实现原理

学习别跟我谈兴趣 No.88

条件注解 @ConditionalOnBean 的正确使用姿势

分布式事务的实现原理

条件注解 @ConditionalOnBean 的正确使用姿势

上述内容就是Docker中怎么对hosts进行修改,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

容器 文件 节点 主机 分布式 集群 内容 办法 原理 参数 时候 而是 问题 姿势 就是 技能 文章 方式 更多 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技创新与互联网经济 美国互联网科技巨头监管 长亮科技 互联网金融 汉立互联网科技有限公司联系电话 深圳市运趣互联网科技有限公司 江苏南京365互联网科技 成都互联网科技公司100强 顶级互联网科技成果有哪些 茂名市互联网科技产业园 湖南诚度互联网科技有限公司 互联网科技产业特征 威龙国际互联网科技公司 互联网科技大赛获奖感言 长沙互联网科技 群盈汇互联网科技有限公司 广州燕处互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 江苏互联网智能科技产品出厂价 互联网对科技影响 银川新华互联网科技学校招聘 西安纸贵互联网科技有限公司 互联网金融 金融科技 融势互联网科技 互联网科技网站 互联网科技公司招聘 互联网5g黑科技有哪些 互联网数据科技专业 互联网金融科技公司的优势 宁波跨境商互联网科技有限公司 科技互联网行业投资研究
0