我正在尝试实现这个有趣的项目,即在 docker 容器内拥有多个“postfix/dovecot”实例。
我正在寻找“某种东西”,将端口 25(可能更晚的 143、993)上的任何传入请求重定向到不同端口上的正确容器。
想法如下:
+-------+ +----------+
(internet)----(port 25) |mainbox| ---- (port 52032) |container1| (postfix)
+-------+ | +----------+
\ (port 52033) +----------+
|container2| (postfix)
+----------+
因此,我们的想法是“重定向”到达端口 25 的请求,并根据“主机名”转发到正确的端口(内部);理想情况下,使用数据库/文本文件来管理这种“映射”会很好
有什么想法吗? 有什么指示吗?
答案1
您应该使用 docker 的 ambassador 容器,并避免在容器之间进行硬链接,以确保服务的可移植性。如果您需要与不同的或额外的 postfix 容器通信,这将使您能够轻松更改设置。您只需重新启动邮箱所连接的 postfix-ambassador 容器即可。在邮件处理的情况下,您可能想要添加各种其他处理阶段,例如 SpamAssassin、ClamAV 等,这种方法将有助于创建链式流程。
此模式支持将您的 Postfix 服务器移动到不同的 Docker 主机。
以下是一篇描述该模式的博客文章 -http://fosiki.com/blog/2013/12/05/docker-container-network-portability/