Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Welche Runtimes gibt es?

Untergeordnete Seiten (Anzeige untergeordneter Seiten)
depth1

...

Abhängigkeiten zwischen Containern

Es ist möglich, Abhängigkeiten zwischen Containern im Projekt aufzubauenzu definieren. Es ist bspw. sinnvoll zu erzwingenbeispielsweise sinnvoll, sicherzustellen, dass die Datenbank gestartet ist, bevor die Application Anwendung zur Verfügung steht. 

Codeblock
languageyml
version: '2.4'
services:

  application:
    depends_on:
      database:
        condition: service_healthy
      image-processing:
        condition: service_started

Beachten Sie , dass depends_on nicht garantiert, dass die aufgelisteten Dienste voll funktionsfähig sind, bevor der abhängige Dienst gestartet wird. Es garantiert nur, dass sie vorher gestartet werden. Für Dienste wie Datenbanken ist den Unterschied zwischen den Bedingungen service_started und service_healthy:

  • service_started: Diese Bedingung stellt sicher, dass der Dienst (z.B. die Datenbank) lediglich gestartet wurde. Sie garantiert jedoch nicht, dass der Dienst vollständig funktionsfähig oder bereit zur Nutzung ist.

  • service_healthy: Diese Bedingung geht einen Schritt weiter und stellt sicher, dass der Dienst auch die Health-Check-Tests erfolgreich bestanden hat und somit vollständig betriebsbereit ist.

Für Dienste wie Datenbanken, bei denen es wichtig ist, dass sie nicht nur gestartet, sondern auch betriebsbereit sind, ist oft ein zusätzlicher Mechanismus erforderlich, um sicherzustellen, dass sie vollständig betriebsbereit sindder Dienst vollständig verfügbar ist, bevor Anwendungen, die von ihnen abhängen, die abhängigen Dienste gestartet werden.

Healthcheck

Die Garantie, dass der Dienst voll funktionsfähig ist, bringt ein Healthcheck. Der wird bspw. in der Datenbank durchgeführt:

...