gpt4 book ai didi

docker - Docker-在容器启动时将覆盖对后缀main.cf文件的更改

转载 作者:行者123 更新时间:2023-12-02 21:18:00 31 4
gpt4 key购买 nike

我正在尝试设置一个由docker化的Nagios。为此,我使用的是来自jasonrivers的有效图像:Dockerfile

现在,我需要稍微调整已安装在镜像中的后缀。我需要设置中继主机,以便将从nagios发送的电子邮件转发到我的邮件服务器。这应该和在/etc/postfix/main.cf中设置“relayhost”属性一样简单。
但是,无论我如何在Dockerfile中调整此值(我尝试同时使用sed和COPY进行此操作),在启动容器后检查/etc/postfix/main.cf文件时,都将relayhost值覆盖为空值。

起初,我认为这与Docker本身有关,我认为以某种方式调整文件的Dockerfile步骤最终不会影响最终镜像。但是,当我用乱码覆盖main.cf时(例如将其内容设置为“foo”),然后在运行镜像时,后缀会引发一些错误。

要将这些单词放入代码中,请考虑以下Dockerfile:

FROM jasonrivers/nagios:latest
RUN echo "relayhost = www.abc.com" > /etc/postfix/main.cf

构建它,然后运行生成的图像将导致一个/etc/postfix/main.cf文件,其中包含内容
relayhost = 

我曾尝试使用google来了解postfix的工作原理以及为什么这样做,但是我发现的唯一建议是在“master.cf”中配置了某些内容,而事实并非如此(您可以自己下载图像并测试所有这些内容)你自己)。

最佳答案

图像的JasonRivers/Docker-Nagios存储库在后缀启动脚本to modify that setting overlay/etc/sv/postfix/run 中具有一个功能:

sed -i "s/relayhost =.*/relayhost = ${MAIL_RELAY_HOST}/" /etc/postfix/main.cf

MAIL_RELAY_HOST环境变量设置为您的主机。
ENV MAIL_RELAY_HOST=www.abc.com

关于docker - Docker-在容器启动时将覆盖对后缀main.cf文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49192385/

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