docker overlay2 diff和merge目录的conf要修改哪个

文章讲述了在Docker环境中遇到的关于emqx配置文件修改的问题。由于Docker使用了overlay2存储驱动,容器的文件系统由镜像和差异层组成。diff目录保存了改动信息,而merged目录呈现了合并后的完整视图。用户可以在diff或merged中修改配置,改动会反映在容器内并同步到diff。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想要修改docker中emqx的配置文件,搜索文件名得到了如下两个目录中都有conf文件。一下懵逼不知道怎么改了。

/var/lib/docker/overlay2/8ad64a73a84ad1443eeda366ff0ee3f33269f9ff679599daccb9f55908afee8a/diff/opt/emqx/etc/emqx.conf

/var/lib/docker/overlay2/e7ffe9fd835f55b9e87708d721e55248b660b479db716f9369b43a28f38fbdce/merged/opt/emqx/etc/emqx.conf

查了很久的信息,得到一个我认为比较通俗易懂的解释,如下:

docker中使用了叫overlay2的层叠式结构,现在暂时overlay2的相关内容还不太熟悉,只是有一个一层一层的抽象理解,以后详细学习后再介绍。

为了简化存储,一个容器运行后会直接把镜像的存储状况作为容器的存储状况,然后针对容器运行产生的任何改动,都会在容器下相关目录中进行存储差分信息,也就是说一个容器中的存储情况由镜像原始存储情况和改动差分内容共同组成。

以centos为例,docker的默认存储路径位于/var/lib/docker 其中container文件夹保存着容器的相关信息,image保存着镜像的相关信息,overlay2保存着容器虚拟文件系统的相关信息。overlay2中有diff目录和merged目录,diff中保存的就是差分信息,merged是在容器运行时才会出现的存储情况集合,我们可以直接对差分信息进行修改,也可以在merged中进行修改,修改后的结果也会出现在diff中,同时容器内部也会直观的看到我们的修改内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值