Container konfigurieren

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

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Öffnen Sie Cloud Run.

  2. 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.

  3. 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.

  4. Klicken Sie auf den Tab Container.

    Image

    • 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.
  5. 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.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 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 Form REGION-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
  3. 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

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Öffnen Sie Cloud Run.

  2. 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.

  3. 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.

  4. Klicken Sie auf den Tab Container.

    Image

    • 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.
  5. 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.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie die Attribute command und args:

    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 Form REGION-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.
  3. 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.

resource "google_cloud_run_service" "default" {
  name     = "cloudrun-service-containers"
  location = "us-central1"

  template {
    spec {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/hello"

        # Container "entry-point" command
        # https://cloud.google.com/run/docs/configuring/containers#configure-entrypoint
        command = ["/server"]

        # Container "entry-point" args
        # https://cloud.google.com/run/docs/configuring/containers#configure-entrypoint
        args = []
      }
    }
  }
}

Für Cloud Run-Jobs

So konfigurieren Sie den Befehlseinstiegspunkt und die Argumente für Jobs:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":

    Öffnen Sie Cloud Run.

  2. 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.

  3. Klicken Sie auf Container, Variablen und Secrets, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Klicken Sie auf den Tab Allgemein.

    Image

    • 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.
  5. Klicken Sie auf Erstellen oder Aktualisieren.

Befehlszeile

  1. 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.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aktualisieren Sie die Attribute args: und command:

    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.

  3. 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.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 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.

  3. 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

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. In der Detailansicht auf der rechten Seite ist die Container-Einstellung unter dem Tab Allgemein aufgeführt.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite "Cloud Run-Jobs":

    Zu Cloud Run-Jobs

  2. Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf den Tab Konfiguration.

  4. Suchen Sie in den Konfigurationsdetails die Containereinstellung.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run jobs describe JOB_NAME
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der Containereinstellung.