本文章是想帮助在docker部署Ghost博客系统遇到的邮件设置问题,如果碰到无法通过SMTP发送的事务性邮件,而又不想开通Mailgun进行批量发送邮件的,可以参考。 背景与问题分析 Ghost 是一个开源博客平台,广泛用于内容管理和发布。当使用 Docker 部署 Ghost 时,config.production.json 文件通常位于容器内部的特定路径(如 /var/lib/ghost/config.production.json)。然而,Docker 容器设计为短暂的,内部文件修改可能在容器重建时丢失,因此直接编辑文件不推荐。相反,我们需要持久化和灵活的配置方法。 配置方法详解 对于 config.production.json 中的嵌套 JSON 键,使用双下划线(__)分隔。例如,database.connection.host 对应环境变量 database__connection__host。 优势: 注意事项: 2. 使用卷挂载自定义配置文件 另一种方法是通过 Docker 卷挂载,将主机上的自定义 config.production.json 文件映射到容器内部。社区讨论(如 Hello, Blog! – An advanced setup of Ghost and Docker made simple)中提到,可以挂载文件到 /var/lib/ghost/config.production.json。 这里,./config.production.json 是主机上的文件,:ro 表示只读挂载,确保容器不会修改主机文件。 优势: 限制与注意事项: 对比与推荐 以下表格总结两种方法的优劣: 方法 灵活性 易用性 持久性 适用场景 环境变量配置 高… Continue reading 解决 Docker Ghost 博客邮件发送难题:告别 Mailgun 的 SMTP 配置指南