Auf dieser Seite wird beschrieben, wie Sie den Containerport, den Einstiegspunktbefehl und die Argumente für Cloud Run-Dienste sowie den Einstiegspunktbefehl und die Argumente für Cloud Run-Jobs konfigurieren.
Wenn Cloud Run einen Container startet, werden der Standardeinstiegspunktbefehl und die Standardbefehlsargumente des Images ausgeführt. Wenn Sie den Standardeinstiegspunkt und die Befehlsargumente des Images überschreiben möchten, können Sie die Felder command
und args
in der Containerkonfiguration verwenden. Das Feld command
gibt den tatsächlichen Befehl an, der vom Container ausgeführt wird. Das Feld args
gibt die Argumente an, die an diesen Befehl übergeben werden.
Containerport (Dienste) konfigurieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Bei Cloud Run-Diensten fügt Cloud Run die Umgebungsvariable PORT
in den Container ein.
Der Container sollte den von der PORT
-Umgebungsvariable definierten Port beobachten und nicht einen bestimmten hartcodierten Port. Wenn dies jedoch nicht möglich ist, können Sie konfigurieren, über welchen Port Anfragen an den Container gesendet werden. Beachten Sie, dass die Porteinstellungen nicht für Cloud Run-Jobs gelten.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf.
Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.
Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.
Klicken Sie auf den Tab Container.
- Geben Sie den Port an, an den Anfragen gesendet werden sollen, sofern Sie nicht den Standardwert „8080“ verwenden möchten. Dadurch wird auch die Umgebungsvariable „PORT“ festgelegt.
Klicken Sie auf Erstellen oder Bereitstellen.
Befehlszeile
Mit dem folgenden Befehl können Sie die Portkonfiguration eines Dienstes aktualisieren:
gcloud run services update SERVICE --port PORT
Ersetzen
- SERVICE durch den Namen des Dienstes.
- PORT durch den Port, an den Anfragen gesendet werden. Der Standardport ist
8080
.
Sie können Ports auch während der Bereitstellung mit dem folgenden Befehl konfigurieren:
gcloud run deploy --image IMAGE_URL --port PORT
Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest
. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
.
YAML
Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export
herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert.
Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace
hochladen.
Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Ersetzen
- SERVICE durch den Namen Ihres Cloud Run-Dienstes
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/hello:latest
. Bei Verwendung von Artifact Registry hat die URL die FormREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PORT durch den Port, an den Anfragen gesendet werden.
- REVISION durch einen neuen Überarbeitungsnamen oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
- Beginnt mit
SERVICE-
- Enthält nur Kleinbuchstaben, Ziffern und
-
- Endet nicht mit
-
- Darf nicht mehr als 63 Zeichen enthalten
- Beginnt mit
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml
Befehl und Argumente des Container-Einstiegspunkts konfigurieren
Sie können Einstiegspunktbefehle und Argumente für Cloud Run-Jobs und -Dienste konfigurieren.
Für Cloud Run-Dienste
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Der angegebene Containerbefehl und die angegebenen Argumente überschreiben das Standard-Image ENTRYPOINT
und CMD
.
Sie können Einstiegspunktbefehl und -argumente über die Google Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf.
Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.
Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.
Klicken Sie auf den Tab Container.
- Geben Sie den Befehl an, den der Container ausführen soll, wenn dieser von dem Befehl abweicht, der in Ihrem Container definiert ist. Geben Sie optional die Argumente für den Einstiegspunktbefehl an.
Klicken Sie auf Erstellen oder Bereitstellen.
Befehlszeile
So aktualisieren Sie den Startbefehl und die Argumente für einen vorhandenen Dienst:
gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N
Ersetzen
- COMMAND durch den Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
- ARG1 durch das Argument, das Sie an den Containerbefehl senden, und verwenden Sie für mehr als ein Argument eine durch Kommas getrennte Liste.
So geben Sie Einstiegspunkt und Argumente während der Bereitstellung eines neuen oder vorhandenen Dienstes an:
gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest
. Bei Verwendung von Artifact Registry hat die URL die Form REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Wenn Sie alle festgelegten Einstiegspunktbefehle und -argumente löschen (die Containerstandardeinstellungen wiederherstellen) möchten, geben Sie leere Strings so an:
gcloud run deploy --image IMAGE_URL --command "" --args ""
YAML
Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export
herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert.
Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace
hochladen.
Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie die Attribute
command
undargs
:spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Ersetzen Sie:
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/hello:latest
. Bei Verwendung von Artifact Registry hat die URL die FormREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - COMMAND durch den Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
- ARG1 durch das Argument, das Sie an den Containerbefehl senden. Wenn Sie mehrere Argumente verwenden, geben Sie jedes Argument in einer eigenen Zeile an, z. B. ARG-N.
- IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Die folgende google_cloud_run_service
-Ressource gibt einen Befehl und Argumente an. Ersetzen Sie /server
durch den Befehl, der zum Starten des Containers verwendet wird, und fügen Sie alle erforderlichen Argumente dem Array args
hinzu.
Für Cloud Run-Jobs
So konfigurieren Sie den Befehlseinstiegspunkt und die Argumente für Jobs:
Console
Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":
Klicken Sie auf den Tab Jobs und füllen Sie die Seite mit den anfänglichen Jobeinstellungen wie gewünscht aus, wenn Sie einen neuen Job konfigurieren. Klicken Sie auf den Job und dann auf Bearbeiten, wenn Sie einen vorhandenen Job konfigurieren.
Klicken Sie auf Container, Variablen und Secrets, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Klicken Sie auf den Tab Allgemein.
- Geben Sie den Befehl an, den der Container ausführen soll, wenn dieser von dem Befehl abweicht, der in Ihrem Container definiert ist. Geben Sie optional die Argumente für den Einstiegspunktbefehl an.
Klicken Sie auf Erstellen oder Aktualisieren.
Befehlszeile
So legen Sie den Startbefehl und die Argumente für einen neuen Job fest:
gcloud run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Ersetzen
- JOB_NAME durch den Namen des Jobs.
- COMMAND durch den Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
- ARG1 durch das Argument, das Sie an den Containerbefehl senden, oder verwenden Sie für mehr als ein Argument eine durch Kommas getrennte Liste.
- Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/job:latest
.
So aktualisieren Sie den Befehl und die Argumente für einen vorhandenen Job:
gcloud run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N
YAML
Laden Sie die vorhandene Jobkonfiguration herunter und verwenden Sie den Befehl gcloud run jobs describe --format export
, um bereinigte Ergebnisse im YAML-Format zu erhalten. Ändern Sie dann die unten beschriebenen Felder und laden Sie die geänderte YAML-Datei mit dem Befehl gcloud run jobs replace
hoch.
Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Aktualisieren Sie die Attribute
args:
undcommand
:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME spec: template: spec: template: spec: containers: - args: - 'ARG1' - 'ARG-N' command: - COMMAND image: IMAGE
Ersetzen
- COMMAND durch den Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
- ARG1 durch das Argument, das Sie an den Containerbefehl senden. Geben Sie optional zusätzliche Argumente in einer separaten Zeile an.
Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.
Aktualisieren Sie die vorhandene Jobkonfiguration:
gcloud run jobs replace job.yaml
Wenn Sie alle festgelegten Einstiegspunktbefehle und -argumente löschen (die Containerstandardeinstellungen wiederherstellen) möchten, geben Sie leere Strings so an:
gcloud run jobs update JOB_NAME --command "" --args ""
Gleichheitszeichen oder Kommas in Argumenten verwenden
Wenn Sie in Ihren Argumenten Gleichheitszeichen verwenden, geben Sie diese im folgenden Format an:
gcloud run deploy \
--args="--repo-allowlist=github.com/example/example_demo"
Wenn Ihre Argumente Kommas verwenden, finden Sie unter Umgebungsvariablen konfigurieren ausführliche Informationen zur Maskierung.
Container-Startreihenfolge für Sidecar-Bereitstellungen konfigurieren (Dienste)
Verwenden Sie die Funktion für Containerabhängigkeiten, um die Startreihenfolge für Container in einer Sidecar-Bereitstellung anzugeben. Sie geben alle Container mit Abhängigkeiten an und listen die Container auf, von denen sie abhängig sind: Diese Container werden zuerst gestartet. Die Container, die keine Abhängigkeiten haben, werden immer zuerst und gleichzeitig gestartet.
Wenn Sie Systemdiagnoseprüfungen verwenden, prüft Cloud Run den Status eines abhängigen Containers, bevor er den nächsten Container startet. Wenn Sie keine Systemdiagnosen verwenden, werden Container in der angegebenen Reihenfolge auch dann gestartet, wenn die Container, von denen sie abhängen, nicht gestartet werden können.
Während der Vorschau müssen Sie die YAML-Methode verwenden, um die Startreihenfolge der Container zu konfigurieren. So geben Sie die Startreihenfolge an:
YAML
Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export
herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert.
Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace
hochladen.
Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
container-dependencies
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: annotations: run.googleapis.com/container-dependencies: '{"CONTAINER1":["CONTAINER2"], "CONTAINER3":["CONTAINER1","CONTAINER2"]}'
Ersetzen
- CONTAINER1 durch den Namen des ersten Containers, der von einem oder mehreren Containern abhängt. Beachten Sie, dass Sie den Containernamen in der YAML-Datei festlegen können: Cloud Run generiert automatisch einen Namen, wenn keiner angegeben wird.
- CONTAINER2 durch den Namen des Containers, der vor CONTAINER1 gestartet werden muss.
- CONTAINER3 durch den Namen des zweiten Containers, der von einem oder mehreren Containern abhängt.
Im Beispiel im YAML-Snippet wird zuerst CONTAINER2, dann CONTAINER1 und CONTAINER3 zuletzt gestartet.
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml
Container-Einstellungen aufrufen
So rufen Sie die aktuellen Container-Einstellungen für Ihren Cloud Run-Dienst auf:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf.
Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.
Klicken Sie auf den Tab Überarbeitungen.
In der Detailansicht auf der rechten Seite ist die Container-Einstellung unter dem Tab Allgemein aufgeführt.
Befehlszeile
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration nach der Containereinstellung.
So rufen Sie die aktuellen Container-Einstellungen für Ihren Cloud Run-Job auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":
Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.
Klicken Sie auf den Tab Konfiguration.
Suchen Sie in den Konfigurationsdetails die Containereinstellung.
Befehlszeile
Verwenden Sie den folgenden Befehl:
gcloud run jobs describe JOB_NAME
Suchen Sie in der zurückgegebenen Konfiguration nach der Containereinstellung.