Optionen zum Ausführen von Containern konfigurieren


Hinweise

  • Wenn Sie mit Containern nicht vertraut sind, lesen Sie Container in Compute Engine.
  • Sollten Sie mit Docker noch nicht vertraut sein, lesen Sie die Docker-Dokumentation.
  • Hier finden Sie Informationen zum Bereitstellen von Containern auf Compute Engine.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

Wenn Sie eine Instanz oder eine Instanzvorlage für die Bereitstellung von Containern auf VMs und MIGs erstellen, geben Sie die Containerkonfiguration über die Google Cloud Console oder das Google Cloud CLI an.

In den folgenden Abschnitten wird die Konfiguration von Optionen für VM-Instanzen beschrieben. Die folgenden Optionen können allerdings auch beim Erstellen einer Instanzvorlage konfiguriert werden. Verwenden Sie die Google Cloud Console oder das Google Cloud CLI, um Optionen für VM-Instanzen in einer Instanzvorlage zu konfigurieren.

Console

  1. Öffnen Sie die Seite "Instanzvorlage erstellen".

    Zur Seite "Instanzvorlage erstellen".

  2. Klicken Sie im Bereich Container das Kästchen Container-Image für diese VM-Instanz erstellen an und erweitern Sie Erweiterte Containeroptionen.

gcloud

  1. Verwenden Sie in der Google Cloud CLI den Befehl gcloud compute instance-templates create-with-container, wie in den folgenden Beispielen gezeigt.

Neustartrichtlinie angeben

Sie können eine Neustartrichtlinie festlegen, um anzugeben, ob ein Container nach dem Beenden neu gestartet werden soll. Die Standardrichtlinie sieht immer einen Neustart vor. Sie können sie aber auch so definieren, dass nur bei einem Ausfall oder nie ein Neustart erfolgt.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Wählen Sie im Abschnitt Neustartrichtlinie die Neustartrichtlinie für den Container aus.
    3. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-restart-policy, um eine Neustartrichtlinie für Container anzugeben:

  • always (Standard)
  • on-failure
  • never

Im folgenden Beispiel wird ein Container mit der Neustartrichtlinie on-failure gestartet, was bedeutet, dass der Neustart nur dann erfolgt, wenn der Exit-Code ungleich null ist:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-restart-policy on-failure

Verwenden Sie für die Neustartrichtlinie eines Containers, der auf einer VM ausgeführt wird, den Befehl gcloud compute instances update-container mit dem Flag --container-restart-policy.

Container im privilegierten Modus ausführen

Sie können einen Container im privilegierten Modus ausführen, um Zugriff auf alle Geräte auf dem Host zu gewähren. Container werden standardmäßig als "nicht privilegiert" ausgeführt und dürfen nicht auf Geräte zugreifen.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Wählen Sie Als privilegiert ausführen aus.
    3. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Lassen Sie mit dem Flag --container-privileged einen Container mit Laufzeitprivilegierung ausführen. Im folgenden Beispiel wird ein busybox-Container im privilegierten Modus gestartet:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-privileged

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-privileged können Sie einen Container auf einer VM aktualisieren. Mit dem Flag --no-container-privileged deaktivieren Sie den privilegierten Modus.

Zwischenspeicher für STDIN in der Containerlaufzeit zuordnen

Sie können in der Containerlaufzeit einen Zwischenspeicher für STDIN zuordnen, damit der STDIN-Stream im Container offen bleibt. Ohne diese Einstellung ergeben Lesevorgänge aus STDIN im Container immer EOF.

Neben dem Zuordnen eines Pseudoterminals muss der STDIN-Stream offen gehalten werden, um eine interaktive Shell im Container einzurichten und damit der Container die Standardeingabe über eine Pipeline empfangen kann.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Wählen Sie Puffer für STDIN zuweisen aus.
    3. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-stdin, um in der Containerlaufzeit einen Zwischenspeicher für STDIN zuzuordnen. Im folgenden Beispiel wird ein Container gestartet und STDIN offen gehalten:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-stdin

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-stdin können Sie einen Container auf einer VM aktualisieren. Mit dem Flag --no-container-stdin deaktivieren Sie die Zuordnung eines Zwischenspeichers für STDIN.

Pseudoterminal zuordnen

Neben dem Zuordnen eines Zwischenspeichers für STDIN muss Containern ein Pseudoterminal zugeordnet werden, um eine interaktive Shell im Container zu erstellen.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Wählen Sie Pseudoterminal zuweisen aus.
    3. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-tty, um ein Pseudoterminal zuzuordnen. Im folgenden Beispiel wird ein Container gestartet und ein Pseudoterminal zugewiesen:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-stdin \
  --container-tty

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-tty können Sie einen Container auf einer VM aktualisieren. Geben Sie das Flag --no-container-tty an, um kein Pseudoterminal zuzuordnen.

Standardbefehl überschreiben, der beim Containerstart ausgeführt werden soll

Der ENTRYPOINT eines Container-Images gibt an, welche ausführbare Datei beim Containerstart verwendet werden soll, und ermöglicht Ihnen, den Container so auszuführen, als wäre er dieses Binärprogramm.

Sie können den Befehl ENTRYPOINT des Container-Images überschreiben.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Geben Sie im Feld Befehl einen einzigen ausführbaren Befehl ohne Parameter ein, z. B. uptime.
    3. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-command, um den ENTRYPOINT des Container-Images zu überschreiben. Im folgenden Beispiel wird der Befehl uptime in einem busybox-Container ausgeführt, um die Zeit seit dem letzten Start anzeigen zu lassen:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-command "uptime"

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-command aktualisieren Sie einen Befehl für einen Container auf einer VM.

Den Standardbefehl für einen aktualisierten Container löschen Sie mit dem Flag --clear-container-command im Befehl update-container.

Argumente an den Befehl ENTRYPOINT des Containers übergeben

Sie können Argumente an den Befehl ENTRYPOINT eines Containers übergeben (anhängen) oder den standardmäßigen Containerbefehl CMD überschreiben.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Klicken Sie im Abschnitt Argumente auf Argument hinzufügen.
    3. Geben Sie für jedes Feld ein Befehlsargument ein.
    4. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-arg, um Argumente an einen Container-Image-ENTRYPOINT-Befehl zu übergeben. Verwenden Sie für jedes Argument ein separates Flag.

Im folgenden Beispiel wird der Befehl /bin/ash mit den Argumenten -c 'ls -l' in einem Container ausgeführt, der für die automatische Ausführung von "busybox" eingerichtet wurde:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-command "/bin/ash" \
  --container-arg="-c" \
  --container-arg="ls -l"

Mit dem Befehl gcloud compute instances update-container und den Flags --container-arg aktualisieren Sie Befehlsargumente für Container auf einer VM. Bei der Aktualisierung wird die gesamte Argumentliste durch die neue ersetzt.

Mit dem Flag --clear-container-args im Befehl update-container entfernen Sie alle Argumente aus der Containerdeklaration.

Logtreiberoptionen konfigurieren

Wenn Sie Logtreiberoptionen konfigurieren müssen, können Sie ein VM-Startskript erstellen, um Ihre Docker-Konfigurationsdatei mit den benötigten Logging-Optionen zu aktualisieren. Diese Optionen gelten für alle Container, die auf der VM ausgeführt werden und keine Logtreiberoptionen angeben.

Das folgende Startskript legt beispielsweise mehrere Optionen fest, einschließlich einer Option zum Begrenzen der Loggröße des Containers, und startet dann Docker auf der VM neu:

cat <<EOF > /etc/docker/daemon.json
{
  "live-restore": true,
  "storage-driver": "overlay2",
  "log-opts": {
    "max-size": "10m"
  }
}
EOF
systemctl restart docker

Umgebungsvariablen festlegen

Sie können Umgebungsvariablen in einem Container festlegen. Wird KEY mehrmals wiederholt, wird nur der letzte Wert von KEY verwendet.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Klicken Sie im Bereich Umgebungsvariablen auf Variable hinzufügen.
    3. Fügen Sie nach Bedarf eine Umgebungsvariable für jede Zeile hinzu oder entfernen Sie sie.
    4. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-env, um Umgebungsvariablen in einem Container festzulegen. Im folgenden Beispiel werden die drei Umgebungsvariablen HOME, MODE und OWNER eingerichtet:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-env HOME=/home,MODE=test,OWNER=admin

Mit dem Flag --container-env-file können Sie Umgebungsvariablen aus einer lokalen Datei festlegen. Im folgenden Beispiel werden die beiden Umgebungsvariablen anhand der Datei env.txt eingerichtet:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-env-file ./env.txt

Die Datei env.txt enthält Folgendes:

# this is a comment
HOME=/home
MODE=test
OWNER=admin

Verwenden Sie den Befehl gcloud compute instances update-container mit dem Flag --container-env oder --container-env-file, um die Umgebungsvariablen für einen Container auf einer VM zu aktualisieren. Dadurch werden alle in der Containerdeklaration der VM-Instanz vorhandenen Variablen aktualisiert. Variablen, die noch nicht in der Containerdeklaration enthalten sind, werden hinzugefügt.

Mit dem Flag --remove-container-env können Sie beim Aktualisieren von Containern auf einer VM Umgebungsvariablen entfernen. Im folgenden Beispiel werden die Umgebungsvariablen MODE und OWNER entfernt:

gcloud compute instances update-container busybox-vm \
  --remove-container-env MODE,OWNER

Falls eine der angegebenen Umgebungsvariablen nicht existiert, wird sie ignoriert.

Hostverzeichnis als Daten-Volume bereitstellen

Sie können ein Verzeichnis aus einer Host-VM in einem Container bereitstellen.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Klicken Sie im Abschnitt Volume-Bereitstellungen auf Volume hinzufügen.
    3. Wählen Sie in der Liste Volume-Typ die Option Verzeichnis aus und gehen Sie so vor:

      • Geben Sie im Feld Bereitstellungspfad einen Bereitstellungspfad in einer Container-Verzeichnisstruktur an, in der Sie ein Hostverzeichnis bereitstellen möchten.
      • Geben Sie im Feld Hostpfad einen Hostpfad zu dem Hostverzeichnis an, das bereitgestellt werden soll.
      • Geben Sie in der Liste Modus an, ob Sie das Verzeichnis im Lese-/Schreibmodus oder im Lesemodus bereitstellen möchten.
    4. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.

  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-mount-host-path, um ein Host-VM-Verzeichnis in einem Container bereitzustellen. Im folgenden Beispiel wird das Hostverzeichnis /tmp im Container unter /logs im Lese-/Schreibmodus bereitgestellt:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-mount-host-path mount-path=/logs,host-path=/tmp,mode=rw

Durch mode=ro wird das Hostverzeichnis im Lesemodus bereitgestellt.

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-mount-host-path aktualisieren Sie Hostverzeichnis-Bereitstellungen für einen Container. Verwenden Sie das Flag --remove-container-mounts, um Volume-Bereitstellungen mit den angegebenen Bereitstellungspfaden zu entfernen. Im folgenden Beispiel wird die Hostpfadbereitstellung mit mount-path=/logs entfernt:

gcloud compute instances update-container busybox-vm \
  --remove-container-mounts /logs

Falls der angegebene Bereitstellungspfad nicht vorhanden ist, wird er ignoriert.

tmpfs-Dateisystem als Daten-Volume bereitstellen

Sie können ein leeres tmpfs-Dateisystem in einem Container bereitstellen.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Klicken Sie im Abschnitt Volume-Bereitstellungen auf Volume hinzufügen.
    3. Wählen Sie in der Liste Volume-Typ die Option TmpFS aus.
    4. Geben Sie im Feld Bereitstellungspfad einen Bereitstellungspfad in einer Container-Verzeichnisstruktur an, in der Sie ein TmpFS-Volume bereitstellen möchten.
    5. Geben Sie in der Liste Modus an, ob Sie das TmpFS-Volume im Lese-/Schreibmodus oder im Lesemodus bereitstellen möchten.
    6. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie das Flag --container-mount-tmpfs, um ein leeres tmpfs-Dateisystem in einem Container bereitzustellen. Im folgenden Beispiel wird im Container ein tmpfs-Dateisystem unter /cache im Lese-/Schreibmodus bereitgestellt:

gcloud compute instances create-with-container busybox-vm \
  --container-image docker.io/busybox:1.27 \
  --container-mount-tmpfs mount-path=/cache
 

Mit dem Befehl gcloud compute instances update-container und dem Flag --container-mount-tmpfs können Sie tmpfs-Bereitstellungen für einen Container aktualisieren. Verwenden Sie das Flag --remove-container-mounts, um tmpfs-Bereitstellungen mit dem angegebenen Bereitstellungspfad beim Aktualisieren zu entfernen. Im folgenden Beispiel wird die tmpfs-Bereitstellung mit mount-path=/cache entfernt:

gcloud compute instances update-container busybox-vm \
  --remove-container-mounts /cache

Falls der angegebene Bereitstellungspfad nicht vorhanden ist, wird er ignoriert.

Nichtflüchtigen Speicher als Daten-Volume bereitstellen

Mit Container-Optimized OS 69 oder höher können Sie nichtflüchtige Speicher von einer Host-VM in einen Container laden.

Voraussetzungen

  • Das Laufwerk muss ein ext4-Dateisystem oder kein Dateisystem haben. Ohne anfängliches Dateisystem formatiert der Container-Start-Agent das Laufwerk mit ext4. Nur das Anhängen mit Lese-/Schreibzugriff und das Bereitstellen werden unterstützt.
  • Das Laufwerk muss an die VM angehängt werden.
  • Es werden sowohl Geräte mit als auch ohne Partitionen unterstützt. Bei Bereitstellungen mit Partitionen darf das Laufwerk nicht leer sein. Es muss bereits eine Partitionstabelle enthalten.

Console

  1. Gehen Sie zur Seite Instanz erstellen.

    Zur Seite "Instanz erstellen"

  2. Klicken Sie im Abschnitt Container auf Container bereitstellen.

  3. Führen Sie auf der Seite Container konfigurieren folgende Schritte aus:

    1. Geben Sie einen Namen für das Container-Image an.
    2. Klicken Sie im Abschnitt Volume-Bereitstellungen auf Volume hinzufügen.
    3. Wählen Sie in der Liste Volume-Typ die Option Laufwerk aus.
    4. Geben Sie im Feld Bereitstellungspfad einen Pfad in der Container-Verzeichnisstruktur an, in der Sie den nichtflüchtigen Speicher bereitstellen möchten.
    5. Wählen Sie in der Liste Laufwerkname ein vorhandenes bereitzustellendes Laufwerk aus.
    6. Geben Sie im Feld Partition die Partitionsnummer an, die bereitgestellt werden soll, wenn das Laufwerk eine Partitionstabelle hat. Wenn das Laufwerk keine Partitionen hat, lassen Sie dieses Feld leer.
    7. Geben Sie in der Liste Modus an, ob Sie das Verzeichnis im Lese-/Schreibmodus oder im Lesemodus bereitstellen möchten.
    8. Klicken Sie zur Bestätigung der Containerdetails auf Auswählen.
  4. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie den Befehl gcloud compute instances create-with-container oder gcloud compute instances update-container mit dem Flag --container-mount-disk, um einen nichtflüchtigen Speicher in einem Container bereitzustellen.

Im folgenden Beispiel werden die beiden Laufwerke my-data-disk und my-scratch-disk im Container unter den Bereitstellungspfaden /disks/data-disk und /disks/scratch-disk bereitgestellt.

gcloud compute instances create-with-container busybox-vm \
  --disk name=my-data-disk \
  --create-disk name=my-scratch-disk,auto-delete=yes,image=ubuntu-1710-artful-v20180315,image-project=ubuntu-os-cloud \
  --container-image docker.io/busybox:1.27 \
  --container-mount-disk mount-path="/disks/data-disk",name=my-data-disk,mode=ro \
  --container-mount-disk mount-path="/disks/scratch-disk",name=my-scratch-disk

Das Flag --disk hängt das Laufwerk my-data-disk an, das Flag --create-disk erstellt das Laufwerk my-scatch-disk und hängt es an und das Flag --container-mount-disk stellt die angehängten Laufwerke für den Container bereit. Da für my-scratch-disk kein mode angegeben ist, wird dieses Laufwerk standardmäßig im Lese-/Schreibmodus für den Container bereitgestellt.

Verwenden Sie den Befehl gcloud compute instances update-container mit dem Flag --container-mount-disk, um zusätzliche angehängte Laufwerke bereitzustellen oder vorhandene Laufwerksbereitstellungen zu ändern.

Verwenden Sie das Flag --remove-container-mounts, um eine Laufwerks-Volume-Bereitstellung mit dem angegebenen Bereitstellungspfad zu entfernen. Das folgende Beispiel ändert den Bereitstellungsmodus von my-data-disk zu Lesen/Schreiben und entfernt die Laufwerksbereitstellung mit mount-path="/disks/scratch-disk".

gcloud compute instances update-container busybox-vm \
  --container-mount-disk mount-path="/disks/data-disk",name=my-data-disk,mode=rw \
  --remove-container-mounts "/disks/scratch-disk"

Falls der Bereitstellungspfad, den Sie an das Flag --remove-container-mounts übergeben, nicht existiert, wird er ignoriert.

Containerports veröffentlichen

VMs mit Containern nutzen den Host-Netzwerkmodus. In diesem Modus teilt ein Container den Host-Netzwerkstack und alle Schnittstellen des Hosts sind für den Container zugänglich.

Containerports haben eine Eins-zu-Eins-Zuordnung zu den Host-VM-Ports. Zum Beispiel wird der Containerport 80 dem Host-VM-Port 80 zugeordnet. Compute Engine unterstützt nicht das Port-Publishing-Flag (-p). Sie müssen es auch nicht angeben, damit die Zuordnung funktioniert.

Zum Veröffentlichen der Ports eines Containers müssen Sie Firewallregeln konfigurieren, um den Zugriff auf die Ports der Host-VM-Instanz zu ermöglichen. Auf die entsprechenden Ports des Containers kann gemäß den Firewallregeln automatisch zugegriffen werden.

Beispiel: Port 80 für einen NGINX-Container veröffentlichen

Das folgende Beispiel zeigt, wie Sie eine VM-Instanz mit einem NGINX-Container erstellen und Traffic zum Port 80 des Containers zulassen.

  1. Erstellen Sie eine VM-Instanz mit einem NGINX-Container:

    gcloud compute instances create-with-container nginx-vm \
     --container-image gcr.io/cloud-marketplace/google/nginx1:1.15 \
     --tags http-server
    

    Der Container teilt den Netzwerkstack der Host-VM, und Port 80 des Containers wird über den Port 80 der Host-VM veröffentlicht. Das Tag http-server wird als Zieltag für die Firewallregel verwendet, die im nächsten Schritt erstellt wird.

  2. Erstellen Sie eine Firewallregel, um Verbindungen zu Port 80 der VM-Instanz zu ermöglichen. Diese Firewallregel ermöglicht HTTP-Verbindungen zu VM-Instanzen mit dem Tag http-server.

    gcloud compute firewall-rules create allow-http \
     --allow tcp:80 --target-tags http-server
    

    Der Container beginnt automatisch, Traffic über Port 80 zu empfangen. Sie müssen keine zusätzliche Konfiguration vornehmen.

    Sie können Firewallregeln für Kombinationen "Host-VM-Protokoll:Port" erstellen. Das Protokoll ist dabei entweder tcp oder udp. Diese Regeln steuern den Zugriff von außerhalb der VM auf die entsprechenden Containerports.

Nächste Schritte