In dieser Anleitung wird beschrieben, wie Sie einen Webdienst für das Ausführen in einem Container in Cloud Run vorbereiten. Die Datenmigration wird nicht behandelt.
Port identifizieren, den Ihr Code überwacht
Ihr Dienst sollte auf Anfragen an einem bestimmten Port warten. Sie müssen diesen Port identifizieren und Cloud Run so konfigurieren, dass Anfragen an denselben Port gesendet werden.
Dies ist derselbe Port, den Sie auch beim Aufrufen Ihres Dienstes auf Ihrem lokalen Computer verwenden würden. Wenn Sie Ihren Code beispielsweise testen möchten, öffnen Sie localhost:3000
und legen Sie den Containerport in Cloud Run auf 3000
fest.
Cloud Run sendet standardmäßig Anfragen an 8080
.
Der Wert des Ports, an den Anfragen gesendet werden, ist immer in der Umgebungsvariable PORT
verfügbar. Als Best Practice empfiehlt es sich, dass der Code den Wert überwacht, der durch die Umgebungsvariable PORT
definiert ist.
Lokales Dateisystem von der Abhängigkeit von nichtflüchtigem Speicher befreien
Prüfen Sie Ihren Anwendungscode auf Abhängigkeiten von lokalen Dateisystemen und ersetzen Sie diese durch Dateispeicher in Cloud Storage oder Datenspeicher wie Firestore oder Cloud SQL.
Dockerfile
hinzufügen
Zur Verpackung des Dienstes in einem Container empfiehlt sich ein Dockerfile, mit dem die Betriebsumgebung definiert wird. In der Kurzanleitung „Erstellen und Bereitstellen“ werden einige einfache Dockerfiles vorgestellt, die Sie für den Einstieg verwenden können.
Weitere Informationen zum Anpassen von Dockerfile
finden Sie auf der Seite Dienst entwickeln
Gleichzeitigkeit und Speicherlimits abstimmen
Informieren Sie sich über die Funktionsweise von Gleichzeitigkeit und optimieren Sie den Dienst dafür. Hilfestellung bieten die Tipps zur Optimierung auf Gleichzeitigkeit.
Achten Sie darauf, das Speicherlimit hoch genug anzusetzen, damit die Anwendung ausgeführt wird und der Dienst genügend Speicher für die temporäre Speicherung von Dateien hat.
Logs an stdout, stderr oder /var/log senden
Cloud Run verwendet automatisch Google Cloud Observability, um Ihre Logs zusammenzufassen und zu prüfen, wie auf der Logging-Seite beschrieben.