Einige Cloudanbieter ✨ [**sponsern FastAPI**](../help-fastapi.md#sponsor-the-author){.internal-link target=_blank} ✨, dies stellt die kontinuierliche und gesunde **Entwicklung** von FastAPI und seinem **Ökosystem** sicher.
# FastAPI in Containern - Docker { #fastapi-in-containers-docker }
# FastAPI in Containern – Docker { #fastapi-in-containers-docker }
Beim Deployment von FastAPI-Anwendungen besteht ein gängiger Ansatz darin, ein **Linux-Containerimage** zu erstellen. Normalerweise erfolgt dies mit <ahref="https://www.docker.com/"class="external-link"target="_blank">**Docker**</a>. Sie können dieses Containerimage dann auf eine von mehreren möglichen Arten bereitstellen.
@ -238,7 +238,7 @@ Stellen Sie sicher, dass Sie **immer** die **exec form** der Anweisung `CMD` ver
///
#### `CMD`- Exec Form verwenden { #use-cmd-exec-form }
#### `CMD`– Exec Form verwenden { #use-cmd-exec-form }
Die <ahref="https://docs.docker.com/reference/dockerfile/#cmd"class="external-link"target="_blank">`CMD`</a> Docker-Anweisung kann in zwei Formen geschrieben werden:
@ -454,7 +454,7 @@ In den meisten (oder allen) Fällen gibt es eine einfache Option, um die Ausfüh
Ohne die Verwendung von Containern kann es umständlich und schwierig sein, Anwendungen beim Hochfahren auszuführen und neu zu starten. Bei der **Arbeit mit Containern** ist diese Funktionalität jedoch in den meisten Fällen standardmäßig enthalten. ✨
## Replikation - Anzahl der Prozesse { #replication-number-of-processes }
## Replikation – Anzahl der Prozesse { #replication-number-of-processes }
Wenn Sie einen <abbrtitle="Eine Gruppe von Maschinen, die so konfiguriert sind, dass sie verbunden sind und auf irgendeine Weise zusammenarbeiten.">Cluster</abbr> von Maschinen mit **Kubernetes**, Docker Swarm Mode, Nomad verwenden, oder einem anderen, ähnlich komplexen System zur Verwaltung verteilter Container auf mehreren Maschinen, möchten Sie wahrscheinlich die **Replikation auf Cluster-Ebene abwickeln**, anstatt in jedem Container einen **Prozessmanager** (wie Uvicorn mit Workern) zu verwenden.
@ -476,7 +476,7 @@ Die gleiche **TLS-Terminierungsproxy**-Komponente, die für HTTPS verwendet wird
Und wenn Sie mit Containern arbeiten, verfügt das gleiche System, mit dem Sie diese starten und verwalten, bereits über interne Tools, um die **Netzwerkkommunikation** (z. B. HTTP-Requests) von diesem **Load Balancer** (das könnte auch ein **TLS-Terminierungsproxy** sein) zu den Containern mit Ihrer Anwendung weiterzuleiten.
### Ein Load Balancer - mehrere Workercontainer { #one-load-balancer-multiple-worker-containers }
### Ein Load Balancer – mehrere Workercontainer { #one-load-balancer-multiple-worker-containers }
Bei der Arbeit mit **Kubernetes** oder ähnlichen verteilten Containerverwaltungssystemen würde die Verwendung ihrer internen Netzwerkmechanismen es dem einzelnen **Load Balancer**, der den Haupt-**Port** überwacht, ermöglichen, Kommunikation (Requests) an möglicherweise **mehrere Container** weiterzuleiten, in denen Ihre Anwendung ausgeführt wird.
#### `Hero`- das *Tabellenmodell* { #hero-the-table-model }
#### `Hero`– das *Tabellenmodell* { #hero-the-table-model }
Dann erstellen wir `Hero`, das tatsächliche *Tabellenmodell*, mit den **zusätzlichen Feldern**, die nicht immer in den anderen Modellen enthalten sind:
@ -210,7 +210,7 @@ Da `Hero` von `HeroBase` erbt, hat es **auch** die **Felder**, die in `HeroBase`
#### `HeroUpdate`- das *Datenmodell* zum Aktualisieren eines Helden { #heroupdate-the-data-model-to-update-a-hero }
#### `HeroUpdate`– das *Datenmodell* zum Aktualisieren eines Helden { #heroupdate-the-data-model-to-update-a-hero }
In der vorherigen Version der App hatten wir keine Möglichkeit, einen Helden **zu aktualisieren**, aber jetzt mit **mehreren Modellen** können wir es. 🎉
@ -257,6 +257,40 @@ Do NOT translate with (German) – notice the added period:
## Ein weiteres Modul mit `APIRouter`. { #another-module-with-apirouter }
5.2) Replace occurrences of literal ` - ` (a space followed by a dash followed by a space) with ` – ` (a space followed by a long dash followed by a space) in the translated part of the heading.
Example:
Source (English):
# FastAPI in Containers - Docker { #fastapi-in-containers-docker }
Translate with (German) – notice the long dash:
# FastAPI in Containern – Docker { #fastapi-in-containers-docker }
Do NOT translate with (German):
# FastAPI in Containern - Docker { #fastapi-in-containers-docker }
5.2.1) Do not apply rule 5.2 when there is no space before or after the dash.
Example:
Source (English):
## Type hints and annotations { #type-hints-and-annotations }
Translate with (German) – use a short dash:
## Typhinweise und -annotationen { #type-hints-and-annotations }
Do NOT translate with (German):
## Typhinweise und –annotationen { #type-hints-and-annotations }
Rule 5.2 does not apply to the untranslated part of the heading, which is inside curly brackets.