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

标签 docker nagios postfix

我正在尝试设置一个由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/

相关文章:

linux - 如何请求客户端服务器安装的nrpe插件数量

ssh - 纳吉奥斯的主人正在消失

后缀 header 检查多个操作

bash - 使用 postfix 容器从容器发送邮件

docker - 试图弄清楚如何为Docker容器化此可执行文件

docker - Docker环境下实现Consul healthcheck

docker - Kubernetes Redis rejson 持久化数据不保存

selenium - "ChromeHeadless have not captured in 60000 ms, killing."仅发生在 Gitlab 托管的 CI/CD 管道中

monitoring - 配置 nagios riemann 集成进行监控

linux - 使用正则表达式别名时如何设置devnull后缀用户