'Hostbasierte' Anforderungen an einen Port umleiten (innerhalb eines Docker-Containers)

1196
Disco

Ich versuche, dieses unterhaltsame Projekt zu erreichen, in dem mehrere "Postfix / Dovecot" -Instanzen in einem Docker-Container vorhanden sind.

Ich suche nach 'etwas', das alle eingehenden Anforderungen an Port 25 (möglicherweise später 143, 993) an den richtigen Container an einen anderen Port umleitet.

Hier ist die Idee:

 +-------+ +----------+ (internet)----(port 25) |mainbox| ---- (port 52032) |container1| (postfix) +-------+ | +----------+ \ (port 52033) +----------+ |container2| (postfix) +----------+ 

Daher besteht die Idee darin, Anforderungen, die an Port 25 gesendet werden und basierend auf 'Hostname' weitergeleitet werden, an den richtigen Port (intern) weiterzuleiten. Idealerweise wäre es toll, diese "Zuordnung" mit einer Datenbank / Textdatei zu verwalten

Irgendwelche Ideen ? Richtungen ?

0

1 Antwort auf die Frage

1
eoinbrazil

Sie sollten die Ambassador-Container des Dockers verwenden und eine feste Verknüpfung zwischen Containern vermeiden, um die Portabilität des Dienstes sicherzustellen. Auf diese Weise können Sie leicht Ihre Einstellungen ändern, wenn Sie mit einem anderen oder zusätzlichen Postfix-Container sprechen möchten. Sie starten einfach den Postfix-Ambassador-Container neu, mit dem Ihre Mailbox verbunden ist. Bei der Mail-Verarbeitung, in der Sie möglicherweise verschiedene andere Verarbeitungsschritte hinzufügen möchten, z. B. SpamAssassin, ClamAV usw., hilft dieser Ansatz beim Erstellen eines verketteten Prozesses.

Dieses Muster unterstützt das Verschieben Ihres Postfix-Servers auf einen anderen Docker-Host.

Hier ist ein Blogbeitrag, der das Muster beschreibt - http://fosiki.com/blog/2013/12/05/docker-container-network-portability/