gpt4 book ai didi

bash - Docker RUN语句(修改文件)未执行

转载 作者:行者123 更新时间:2023-12-02 21:29:46 30 4
gpt4 key购买 nike

执行Dockerfile(在https://github.com/Krijger/es-nagios-docker中)时,我遇到奇怪的行为。基本上,我添加一个文件以将其内容附加到图像中的文件中

ADD es-command /tmp/
RUN cat tmp/es-command >> /opt/nagios/etc/objects/commands.cfg

问题是,虽然/ tmp / es-command存在于生成的镜像中,但command.cfg文件未更改。

作为已接受答案的前奏:我的Dockerfile扩展了cpuguy83 / nagios,它将/ opt / nagios / etc定义为一个卷。

最佳答案

很高兴看到示例代码,该示例代码找到了路由原因。

您的docker镜像来自cpuguy83/nagios,来自此镜像https://github.com/cpuguy83/docker-nagios/blob/master/Dockerfile

您可以看到/opt/nagios/etc目录设置为 VOLUME

 VOLUME ["/opt/nagios/var", "/opt/nagios/etc", "/opt/nagios/libexec", "/var/log/apache2", "/usr/share/snmp/mibs"]

然后您会注意到,新构建无法在下一次提交时更改 docker volume

这就是为什么您在进入容器时看到更改并在退出时丢失更改的原因。

关于bash - Docker RUN语句(修改文件)未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23959529/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com