Files
docknpr/swarm_full

Konfiguration

Network

  • Das Netzwerk ist typisch für die Swarm-Konfiguration auf overlay eingestellt.
  • Hier ist eine statische IP-Konfiguration festgelegt. Dieses muss eventuell angepasst werden, wenn Container zu einem bestehenden Netzwerk hinzugefügt werden sollen. (z.B. Traefik)

Volumes

  • Hier verwenden wir einen Bind, um bestimmte Konfigurationen in den Container einzubinden.
  • Möglicherweise müssen Sie bei der Verwendung mehrerer Stacks den Stack-Namen web1 durch einen anderen Namen ersetzen.

Traefik-Labels

  • Hier müssen Sie den Router- und Service-Namen für Ihre Bedürfnisse anpassen und den Stack-Namen web1 durch einen anderen Namen ersetzen.
  • Zudem ist der Host-Parameter gemäß Ihrer Domäne zu ersetzen Host(`web1.localdomain`).

Deployment

Replicas

  • Die Anzahl der Replicas steht hier standardmäßig auf 1, außer beim Webservice, wo es 3 Replicas sind. Passen Sie dies je nach Bedarf an. Beachten Sie, den Service Redis nicht >1 zu stellen, da ansonsten die Sessions innerhalb von PHP nicht mehr konsistent sind!
  • Die Update-Config steht auf 1 mit einem delay von 10s. Bei einem Update des Services werden also alle 3 Container im Abstand von 10 Sekunden aktualisiert und somit gibt es keine Downtime bei der Aktualisierung.
  • Die Restart-Policy ist auf on-failure gesetzt, damit der Container nur bei Fehlern neu startet.
  • Das Placement ist so eingestellt, das die Dienste nur auf Worker-Nodes (node.role != manager) und nicht auf Manager-Nodes bereitgestellt werden.