【docker设置host】docker镜像设置hosts_docker hosts-程序员宅基地

技术标签: 容器  运维  hosts  docker  

docker中的host

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

修改host的方式

  • RUN命令直接修改host文件 ---------- 不行
    在dockerfile中使用run命令直接修改host文件无任何效果,k8s中地址解析会将修改的hosts进行覆盖

  • docker启动时加–add-host参数 ---------- 可行
    docker启动时修改多个hosts指向

docker run --add-host='www.baidu.com:127.0.0.1' --add-host='server2:127.0.0.2' 容器id -it /bin/bash
  • dockerfile中修改hosts文件 ---------- 可行
    在dockerfile中执行以下命令
#路径长度最好保持一致
RUN cp /etc/hosts /tmp/hosts
RUN mkdir -p -- /lib-override && cp /usr/lib64/libnss_files.so.2 /lib-override
RUN sed -i 's:/etc/hosts:/tmp/hosts:g' /lib-override/libnss_files.so.2
ENV LD_LIBRARY_PATH /lib-override
#可以随意修改/tmp/hosts了
RUN echo "127.0.0.1 www.baidu.com" >> /tmp/hosts

dockerfile文件

注意:
libnss_files.so.2文件可能不在上图路径下,需要使用find / -name ‘libnss_files.so.2’命令进行搜索,上图红框根据实际位置进行填写

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/XXXXXX741/article/details/127502660

智能推荐

纵横CW大鹏无人机地面站航线规划方法_纵横地面站-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏34次。纵横CW大鹏无人机地面站航线规划方法_纵横地面站

【Shell 命令集合 扩展命令】Linux chgrp命令使用教程-程序员宅基地

文章浏览阅读1k次。`chgrp` 是一个 Linux 命令,用于更改文件或目录的群组所有权。该命令的名称来源于 "change group" 的缩写。_chgrp

目标检测开源数据集汇总1_开源目标检测数据集-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏8次。数据集链接:http://m6z.cn/5AsmXB本数据集共有 1224 张图像来自四个公共图像数据集:COCO、VOC07、ImageNet 和 SUN。Amazon Mechanic Turk 工作人员将每个图像标记为包含 0、1、2、3 或 4 个以上的显着对象。可以在imgIdx.mat中找到此标签信息以及边界框注释,一个存储图像信息的matlab结构数组。MSO 数据集是 SOS 数据集测试集的子集。波士顿大学的团队删除了一些显着对象严重重叠或者对于标记指定数量的显着对象不明确的图像。因此,在来_开源目标检测数据集

王爽《汇编语言》实验17——编写包含多个功能子程序的中断例程_汇编语言实验17-程序员宅基地

文章浏览阅读1.9k次。王爽《汇编语言》实验17——编写包含多个功能子程序的中断例程安装一个新的 int 7ch 中断例程,用逻辑扇区号对软盘进行读写_汇编语言实验17

交易理念 :游资、私募的超短线投资理念_私募能做超短吗-程序员宅基地

文章浏览阅读4.1k次。文章目录交易理念 :游资、私募的超短线投资理念1、操作理念2、操作背景2、操作方式交易理念 :游资、私募的超短线投资理念1、操作理念一、强者恒强个股的强势必然通过强劲的走势得以体现,因此敢于在次日买入前一日率先涨停的个股二、持股时间越短,风险越小因此从风险的角度看,降低风险的有效方法就是最大程度减小持股时间三、把所有注意力集中在强势超短线上注意力集中才能获得最好的操作效果,因此只关注自身炒作领域里面所买卖股票的涨跌即可2、操作背景一、市场短期内将要走强,或者某些重要事件和消息对相_私募能做超短吗

设置c语言枚举变量的默认值,c++ 结构体 默认值_漫谈——typedef关键字、结构体、枚举及共同体...-程序员宅基地

文章浏览阅读994次。(1)typedef关键字和结构体typedef用来定义新的数据类型,通常typedef与结构体或枚举的定义配合使用。使用typedef的目的使结构体的表达更加简练。个人认为typedef不是必须使用的,但是精炼了代码。a)typedef定义数据类型typedef int integer;integer a,b;b)定义一个结构体GPIO_InitTypeDef:struct GPIO_InitT..._如何改变枚举成员的默认值

随便推点

Zenmap 报'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte错误部分解决方案_utf-8' codec can't decode byte 0xc0 in position 0:-程序员宅基地

文章浏览阅读9.1k次,点赞4次,收藏11次。错误样式:'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte错误原因:报这个错误提示的意思我理解的是存在中文无法解读,因为我没有输入中文,所有推测可能是当前用户的user文件夹为中文用户所拥有,在访问一些文件时存在中文的路径无法访问,很多的应用都是这样,不支持访问中文路径,这个算是一个比较常见的一个报错..._utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte

11个案例讲透 Python 函数参数_**表示可变参数,通常使用**kw-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏23次。大家好,今天给大家分享一下明哥整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。接下来是正文。_**表示可变参数,通常使用**kw

idea配置tomcat无法apply的跳坑经历_idea中点击apply没有反应-程序员宅基地

文章浏览阅读4.3k次,点赞6次,收藏6次。 他妈的,真是服了,这个破问题竟然困了我好几个小时。一直在网上找没有相关的教程,又不想花太多时间翻墙,只好自己摸索这样子。 一个一个问题的排除,查看日志,都没有找到问题所在。 我都怀疑是不是软件问题,或者其他什么的了。 哎,也怪自己上课不认真吧,自己给自己挖了一个坑。 在此记录一下。 (但是说实话这里还是比较容易出错的,尤其对于那些自己为很聪明的人来说,哈哈哈)。 我..._idea中点击apply没有反应

2023年前端面试题-Html篇-程序员宅基地

文章浏览阅读60次。1、前端如何选择图片的格式?2、解释一下 浏览器的标准模式和怪异模式 (混杂模式)3、简述从输入网址到页面显示的整个过程

EC_Class_ec class-程序员宅基地

文章浏览阅读1.4k次。// EC_Class.h: interface for the EC_Class class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_EC_CLASS_H__360A35F7_DB6B_4390_810E_FFEF59954245__INC_ec class

寄存器r0 - r12 是什么?-程序员宅基地

寄存器r0 - r12是ARM处理器中用于存储临时数据、函数参数和返回值的通用寄存器,都是32位的。r13-r15则分别用于存储栈指针(SP)、链接寄存器(LR)和程序计数器(PC)。