Welche Runtimes gibt es?
Untergeordnete Seiten (Anzeige untergeordneter Seiten) | ||
---|---|---|
|
...
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 | ||
---|---|---|
| ||
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:
...