【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

智能推荐

Err:java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp-程序员宅基地

文章浏览阅读2.6k次。调试时发现的一个错误,异常内容为Err:java.sql.SQLException: Value 0000-00-00 can not be represented as java.sql.Timestamp原因:数据库中原来Data列的问题把原来可NULL的Date列改为非空后,MySql 默认把所有NULL值填为“0000-00-00 00:00:00“,导致错误发生 。解决方法: _can not be represented as java.sql.timestamp

linux隐藏属性只读,Linux 文件隐藏属性 chattr, lsattr-程序员宅基地

文章浏览阅读137次。chattr:配置文件隐藏属性(注意:chattr命令只在Ext2/Ext3的文件系统上生效)语法:chattr [+-=][ASacdistu] 文件或目录名称参数:+ :添加某一个特殊参数,其他原本存在参数不动。- :移除某一个特殊参数,其他原本存在参数不动。= :配置后面接的参数A :当使用了A这个属性时,若你有存取此文件(或目录)时,他的存取时间atime 将 ..._lsattr文件只读

Coarse to Fine Vertebrae Localization and Segmentation论文笔记_spatialconfiguration-net-程序员宅基地

文章浏览阅读1.2k次。Coarse to Fine Vertebrae Localization and Segmentation with SpatialConfiguration-Net and U-Net 论文研读笔记文章目录Coarse to Fine Vertebrae Localization and Segmentation with SpatialConfiguration-Net and U-Net 论文研读笔记前言一、Abstract二、Method2.1 Spine Localization2.读入数据总_spatialconfiguration-net

微信小程序制作_uview怎么添加到小程序-程序员宅基地

文章浏览阅读385次,点赞2次,收藏4次。打开微信开发者工具后, 新建一个新的文件。开始配置首先在资源管理器中,可以看到初始文件拥有 miniprogram 文件夹, 找到app.json在json 配置文件中, 可以查询到 "page" 属性此时,在minprogram文件夹有会生成page的文件夹且拥有5个新的页面, 该文件为小程序中的各个子页面 "tabBar": { "list" : [{ "pagePath": "page/index/index-1", "text": "首页", ._uview怎么添加到小程序

分布式事务 (五) Seata AT模式-Spring Cloud微服务添加 AT 分布式事务_springcloudseata开启at-程序员宅基地

文章浏览阅读148次。文章目录下载订单项目案例(无事务版)Seata Server - TC全局事务协调器Seata Server 配置registry.conffile.conf启动参数设置启动 Seata Serverorder订单服务添加 Seata AT 事务order-parent 添加 seata 依赖配置application.ymlregistry.conffile.conf创建 seata 数据源代理启动全局事务启动 order 项目进行测试测试出现异常,回滚的情况storage库存服务添加 Seata AT _springcloudseata开启at

python运行时出现MySQLdb._exceptions.OperationalError错误解决方法_(mysqldb._exceptions.operationalerror) (1115, "err-程序员宅基地

文章浏览阅读9.7k次。上篇安装好mysqlclient之后进行连接mysql数据库,在连接的过程中出现以下错误:MySQLdb._exceptions.OperationalError:(2059,<NULL>)经过一番查找得知是因为mysql版本与我所使用的Python Flask不兼容,因此出现以上错误环境:mysql8.0 flask更多关于该错误在stackoverflow上的..._(mysqldb._exceptions.operationalerror) (1115, "errcode = 2, detailmessage =

随便推点

java.nio.file.files_JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现-程序员宅基地

文章浏览阅读273次。JDK1.7中引入了新的文件操作类java.nio.file这个包,其中有个Files类它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件。开发者还可以使用Files.readAllBytes(Path)方法把整个文件读入内存,此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出。此方法确保了当读入文件的所有字节内容时,无论是否...

web基础---->Fileupload文件的上传-程序员宅基地

文章浏览阅读97次。  这里我们介绍文件上传的知识,使用的是apache的Commons FileUpload框架。文件上传的使用项目的部分结构如下:一、使用Commons FileUpload的上传功能,我们需要引入两个jar包:commons-fileupload和commons-io。首先我们列出html的部分<!DOCTYPE html><html lang="e...

解决IDEA2020.1新建项目需要重新配置maven_idea2020.1.1打开新项目时自动匹配maven-程序员宅基地

文章浏览阅读2.2k次。IDEA2020.1新建项目后的maven是默认配置,设置安装好的maven仓库File —> New Prijects Settings —> Setting for New Projects…2. 进入后设置Build, Execution, Deployment —> Build Tools —> Maven_idea2020.1.1打开新项目时自动匹配maven

Mongodb 性能测试_mongo单点性能-程序员宅基地

文章浏览阅读638次。转载地址 http://www.cnblogs.com/lovecindywang/archive/2011/03/02/1969324.html进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目:(所有插入都是单线程进行,所有读取都是多线程进行)1) 普通插入性能 (插入的数据每条大约在1KB左右)2) 批量插入性能 (使用的是官_mongo单点性能

VB.net学习笔记(二十七)线程同步上_vbnet同步-程序员宅基地

文章浏览阅读9.2k次。X夫妇二人试图同时从同一账户(总额1000)中支取1000。由于余额有1000,夫妇各自都满足条件,于是银行共支付2000。结果是银行亏了1000元。这种两个或更多线程试图在同一时刻访问同一资源来修改其状态,并产生不良后果的情况被称做竞争条件。 为避免竞争条件,需要使Withdraw()方法具有线_vbnet同步

Unity中减少VR晕眩症的实用技术(Yanlz+Unity+XR+VR+AR+MR+SteamVR+晕眩症+征兆冲突理论+视野+帧速+相对运动错觉+光场VR+立钻哥哥+==)_unity 开发vr很头晕-程序员宅基地

文章浏览阅读4k次,点赞10次,收藏10次。《基于Unity与SteamVR构建虚拟世界》 《基于Unity与SteamVR构建虚拟世界》 版本 作者 参与者 完成日期 备注 SteamVR_Unity_V01_1.0 严立钻 2019..._unity 开发vr很头晕