解决docker容器重启之后/etc下某些配置文件被重置的问题

 更新时间:2021年03月19日 10:06:25   作者:文明子弹  
这篇文章主要介绍了解决docker容器重启之后/etc下某些配置文件被重置的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.

/etc/hosts, /etc/resolv.conf和/etc/hostname容器中的这三个文件不存在于镜像,而是存在于于/var/lib/docker/containers/,在启动容器的时候,通过mount的形式将这些文件挂载到容器内部。

因此,如果在容器中修改这些文件的话,修改部分不会存在于容器的top layer,而是直接写入这三个物理文件中。

2.为什么重启后修改内容不存在了?

原因是:每次Docker在启动容器的时候,通过重新构建新的/etc/hosts文件,这又是为什么呢?

原因是:容器重启,IP地址为改变,hosts文件中原来的IP地址无效,因此理应修改hosts文件,否则会产生脏数据。

3.有没有什么好的解决方法?

可以通过docker run命令的–add-host参数来为容器添加host与ip的映射关系。

补充:Docker容器中解决重启配置不生效(source /etc/profile)

问题描述:

docker在使用过程中,有时候自定义容器实例中的某些配置文件,例如:/etc/profile,但是修改后,每一次启动都需要手动 source 一遍令它重新生效,这很繁琐。

解决方法:

在容器实例中 ~/.bashrc 配置文件末尾添加 source /etc/profile,保存退出即可。这样就能够实现重启后自动刷新配置文件,而无需手动操作。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • docker inspect 命令使用技巧

    docker inspect 命令使用技巧

    这篇文章主要介绍了docker inspect 命令使用技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 查找Docker容器IP地址的四种方法

    查找Docker容器IP地址的四种方法

    在使用 Docker 管理和部署应用程序时,了解容器的 IP 地址是非常重要的,每个 Docker 容器都有其自己的 IP 地址,本文将介绍几种常用的方法,帮助您轻松查找 Docker 容器的 IP 地址,需要的朋友可以参考下
    2024-07-07
  • Flask应用封装成Docker服务的完整操作指南

    Flask应用封装成Docker服务的完整操作指南

    本文详细介绍了如何使用Docker将Flask应用容器化,包括实现原理、详细操作步骤、进阶配置、常见问题及解决方案和生产环境注意事项,需要的朋友可以参考下
    2025-04-04
  • Docker搭建青龙面板教程(图文)

    Docker搭建青龙面板教程(图文)

    青龙面板是一款用于管理和运行脚本的Web界面,广泛应用于各类自动化脚本的管理,本文主要介绍了Docker搭建青龙面板教程,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 教你使用docker安装elasticsearch和head插件的方法

    教你使用docker安装elasticsearch和head插件的方法

    这篇文章主要介绍了docker安装elasticsearch和head插件,安装时需要下载镜像和修改系统参数,本文分流程给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Docker中的容器网络以及其配置说明

    Docker中的容器网络以及其配置说明

    这篇文章主要介绍了Docker中的容器网络以及其配置说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker安装基础镜像服务的步骤

    Docker安装基础镜像服务的步骤

    外部机器不能直接访问容器,网是不通的,但可以访问宿主机,只要将容器的端口与宿主机进行映射后,访问宿主机的端口就相当于访问了容器的端口,本文介绍Docker如何安装基础镜像服务,感兴趣的朋友一起看看吧
    2024-01-01
  • 创建支持SSH服务的Docker镜像的方法

    创建支持SSH服务的Docker镜像的方法

    这篇文章主要介绍了创建支持SSH服务的Docker镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Docker运行Web服务实战之Tomcat的详细过程

    Docker运行Web服务实战之Tomcat的详细过程

    Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持,这篇文章主要介绍了Docker运行Web服务实战之Tomcat的详细过程,需要的朋友可以参考下
    2022-08-08
  • docker如何查询指定名字的容器id

    docker如何查询指定名字的容器id

    要查询指定名字的Docker容器ID,可以使用命令 docker ps -a --filter "name=CONTAINER_NAME" -q,该命令将返回指定名称的容器ID,如果存在多个相同名称的容器,则返回所有这些容器的ID
    2025-03-03

最新评论