广告
返回顶部
首页 > 资讯 > 精选 >Docker中怎么对hosts进行修改
  • 448
分享到

Docker中怎么对hosts进行修改

2023-06-19 12:06:02 448人浏览 薄情痞子
摘要

本篇文章为大家展示了Docker中怎么对hosts进行修改,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Docker修改hosts?这还不简单,打开vim直接敲就完事儿了!然而事与愿违,事情没有我们

本篇文章为大家展示了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进行修改,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Docker中怎么对hosts进行修改

本文链接: https://www.lsjlt.com/news/296046.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker中怎么对hosts进行修改
    本篇文章为大家展示了Docker中怎么对hosts进行修改,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Docker修改hosts这还不简单,打开vim直接敲就完事儿了!然而事与愿违,事情没有我们想...
    99+
    2023-06-19
  • ADO.NET中怎么对SelectCommand进行修改
    本篇文章为大家展示了ADO.NET中怎么对SelectCommand进行修改,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ADO.NET经过长时间的发展,很多用户都很了解ADO.NET了,...
    99+
    2023-06-17
  • Hibernate中怎么对addMate进行修改
    本篇文章给大家分享的是有关Hibernate中怎么对addMate进行修改,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。rnate修改addMate方法,可能好多人还不了解ad...
    99+
    2023-06-17
  • 怎么用命令行修改hosts文件
    今天小编给大家分享一下怎么用命令行修改hosts文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。命令行修改hosts文件的...
    99+
    2023-07-01
  • ubuntu中怎么利用xmarks修改hosts
    这篇文章给大家介绍ubuntu中怎么利用xmarks修改hosts,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。刚升级ubuntu9.10不久,不能用xmarks真让人恼火,下面是解决办法:#sudo gedit /e...
    99+
    2023-06-17
  • Linq中怎么对XML文档进行修改
    这篇文章将为大家详细讲解有关Linq中怎么对XML文档进行修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linq修改XML文档XElement element =&n...
    99+
    2023-06-17
  • nodejs中怎么对contact主数据进行修改
    本篇文章给大家分享的是有关nodejs中怎么对contact主数据进行修改,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来...
    99+
    2022-10-19
  • 使用javascript怎么对css进行修改
    这篇文章给大家介绍使用javascript怎么对css进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。javascript 动态修改css样式方法汇总(四种方法)在很多情况下,都需要对网页上元素的样式进行动态的修...
    99+
    2023-06-14
  • php怎么对链接进行删除或修改
    在Web开发中,经常需要对链接进行删除或修改。作为一种支持服务器端脚本的语言,PHP可以帮助我们轻松处理这些链接的操作。PHP删除链接当我们需要从数据库或其它存储设备中删除链接时,可以使用PHP。下面是一个简单的PHP代码示例,用于删除数据...
    99+
    2023-05-14
    php
  • 使用deepin怎么对dns地址进行修改
    这期内容当中小编将会给大家带来有关使用deepin怎么对dns地址进行修改,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。点击这个dock白色的齿轮,点击旁边的网络。点击网络连接旁边的【>】,点击这个...
    99+
    2023-06-13
  • 怎么利用java对文件名进行修改
    怎么利用java对文件名进行修改?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实现代码: import java.io.*;  cl...
    99+
    2023-05-31
    java ava
  • 使用JavaScript怎么对CSS样式进行修改
    这期内容当中小编将会给大家带来有关使用JavaScript怎么对CSS样式进行修改,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。html中的内容:<!DOCTYPE html><...
    99+
    2023-06-14
  • 使用Java怎么对文件名进行修改
    这篇文章给大家介绍使用Java怎么对文件名进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:import java.io.*;public class test1{ public static void m...
    99+
    2023-05-31
    java ava
  • 怎么在postgresql中对jsonb数据进行查询和修改
    今天就跟大家聊聊有关怎么在postgresql中对jsonb数据进行查询和修改,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JS是什么JS是JavaScript的简称,它是一种直译式...
    99+
    2023-06-06
  • PHP中怎么进行修改操作
    这篇文章主要介绍“PHP中怎么进行修改操作”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP中怎么进行修改操作”文章能帮助大家解决问题。一、修改数组中的值在PHP中,要修改数组中的元素值,可以通过...
    99+
    2023-07-06
  • 怎么对docker内存进行监控
    怎么对docker内存进行监控?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一直运行的docker容器显示内存已经耗尽,并且容器内存耗尽也没出现重启情况,通过后台查看发现进程没...
    99+
    2023-06-14
  • Mysql怎么对json数据进行查询及修改
    这篇文章主要介绍“Mysql怎么对json数据进行查询及修改”,在日常操作中,相信很多人在Mysql怎么对json数据进行查询及修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql怎么对json数据进...
    99+
    2023-07-02
  • 利用Mybatis怎么对数据库进行批量修改
    这篇文章将为大家详细讲解有关利用Mybatis怎么对数据库进行批量修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。修改的字段值都是一样的,id不同<update id="b...
    99+
    2023-05-31
    mybatis
  • Linux系统怎么对账户进行管理对其进行添加修改和删除
    这篇文章主要介绍“Linux系统怎么对账户进行管理对其进行添加修改和删除”,在日常操作中,相信很多人在Linux系统怎么对账户进行管理对其进行添加修改和删除问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lin...
    99+
    2023-06-13
  • 怎么在Ubuntu中使用Grafana对Docker进行监控
    怎么在Ubuntu中使用Grafana对Docker进行监控?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装 grafana我们可以在 docker 中构建我们的 grafa...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作