Containerinstanzen erstellen
Erstellen Sie eine Containerinstanz.
Sie können maximal 60 Container in jeder Containerinstanz erstellen.
- Wenn Sie eine Containerinstanz erstellen, sind mehrere andere Ressourcen daran beteiligt, wie ein Image, ein Cloud-Netzwerk und ein Subnetz. Diese Ressourcen können sich in demselben Compartment befinden wie die Instanz oder in anderen Compartments. Sie müssen für jedes der beteiligten Compartments über die erforderliche Zugriffsebene verfügen, um die Instanz zu erstellen. Siehe Erforderliche IAM-Policy.
-
Wenn Sie ein Containerimage angeben, muss die Registry, in der das Image gespeichert ist, über das Subnetz erreichbar sein, das Sie für die Containerinstanz angeben. Wenn das Containerimage in OCI Container Registry gespeichert ist, geben Sie das Image in einem Subnetz in einem virtuellen Cloud-Netzwerk (VCN) mit einem Servicegateway an. Wenn das Containerimage in einer externen Registry gespeichert ist, die im öffentlichen Internet gehostet wird, geben Sie das Image in einem öffentlichen Subnetz in einem VCN mit einem Internetgateway oder in einem privaten Subnetz in einem VCN mit einem Network Address Translation-(NAT-)Gateway an.
So erstellen Sie eine Containerinstanz:
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Entwicklerservices. Klicken Sie unter Container und Artefakte auf Containerinstanzen.
- Klicken Sie auf Containerinstanz erstellen.
- Geben Sie einen Namen für die Containerinstanz ein. Sie können den Namen später hinzufügen oder ändern. Der Name muss nicht eindeutig sein, weil eine Oracle Cloud-ID (OCID) die Containerinstanz eindeutig identifiziert. Geben Sie dabei keine vertraulichen Informationen ein.
- Wählen Sie das Compartment aus, in das Sie die Instanz erstellen möchten. Die anderen Ressourcen, die Sie auswählen, können aus anderen Compartments stammen.
- Wählen Sie unter Platzierung die folgenden Optionen aus:
- Wählen Sie die Availability-Domain aus, in der Sie die Instanz erstellen möchten.
-
(Optional) Wenn Sie eine Faultdomain angeben möchten, klicken Sie auf Erweiterte Optionen anzeigen. Wählen Sie dann unter Faultdomain die Faultdomain aus, die für die Instanz verwendet werden soll. Wenn Sie die Faultdomain nicht angeben, wird vom System automatisch ausgewählt. Sie können die Faultdomain bearbeiten, nachdem Sie die Instanz erstellt haben. Weitere Informationen finden Sie unter Faultdomains.
Wählen Sie unter Ausprägung die flexible Ausprägung für die Containerinstanz aus. Flexible Ausprägungen verfügen über eine anpassbare Anzahl von OCPUs und Arbeitsspeichermenge.
- Wählen Sie unter Anzahl OCPUs mit dem Schieber die Anzahl der OCPUs aus, die Sie dieser Instanz zuweisen möchten. Die anderen Ressourcen werden proportional skaliert.
- Wählen Sie unter Arbeitsspeicher (GB) mit dem Schieber die Arbeitsspeichermenge aus, die Sie dieser Instanz zuweisen möchten. Die zulässige Arbeitsspeichermenge basiert auf der ausgewählten Anzahl an OCPUs.
Hinweis
Sie benötigen eine Sicherheitsregel als Teil einer Sicherheitsliste oder Netzwerksicherheitsgruppe, um Netzwerktraffic zu den im Container ausgeführten Anwendungen zuzulassen. Beispiel: Wenn Ihre Anwendung unter dem Protokoll TCP, Port 8080 ausgeführt wird, benötigen Sie eine Sicherheitsregel für TCP und Port 8080. Informationen zum Konfigurieren von Sicherheitsregeln finden Sie unter Sicherheitsregeln.- Geben Sie unter Primäres Netzwerk und Subnetz das virtuelle Cloud-Netzwerk (VCN) und Subnetz an, in dem die Instanz erstellt werden soll. Wählen Sie aus, ob Sie ein vorhandenes VCN und Subnetz verwenden, ein neues VCN oder Subnetz erstellen oder die OCID eines vorhandenen Subnetzes eingeben möchten:
- Vorhandenes virtuelles Cloud-Netzwerk auswählen: Wählen Sie diese Option aus, und geben Sie die folgenden Informationen ein.
- Virtuelles Cloud-Netzwerk: Das Cloud-Netzwerk, in dem die Instanz erstellt werden soll.
- Subnetz: Ein Subnetz innerhalb des Cloudnetzwerkes, an das die Instanz angehängt ist. Die Subnetze sind öffentlich oder privat. Privat bedeutet, dass die Instanzen in diesem Subnetz nicht über öffentliche IP-Adressen verfügen können. Weitere Informationen finden Sie unter Zugriff auf das Internet. Subnetze können auch Availability-Domain-spezifisch oder regional sein. Regionale haben nach dem Namen "regional". Es wird empfohlen, regionale Subnetze zu verwenden. Weitere Informationen finden Sie unter Regionale Subnetze.
- Um ein vorhandenes Subnetz zu verwenden, wählen Sie Vorhandenes Subnetz auswählen und dann das Subnetz aus.
- Um ein Subnetz zu erstellen, wählen Sie Neue öffentliche Subnetze erstellen aus, und geben Sie die folgenden Informationen ein:
- Name des neuen Subnetzes: Ein Name für den Subnedt. Geben Sie dabei keine vertraulichen Informationen ein.
- Erstellen in Compartment: Das Compartment, in dem Sie das Subnetz ablegen möchten.
- CIDR-Block: Ein einzelner, zusammenhängender CIDR-Block für das Subnetz (z.B. 172.16.0.0/24). Stellen Sie sicher, dass dieser sich im CIDR-Block des Cloud-Netzwerks befindet und nicht mit anderen Subnetzen überschneidet. Sie können diesen Wert später nicht ändern. Siehe Zulässige VCN-Größe und Adressbereiche. Zu Referenzzwecken finden Sie hier einen CIDR-Rechner.
- Neues virtuelles Cloud-Netzwerk erstellen: Wählen Sie diese Option aus, und geben Sie die folgenden Informationen ein.
- Name des neuen virtuellen Cloud-Netzwerks: Ein Name für das Subnetz. Ein Anzeigename für das Netzwerk. Geben Sie dabei keine vertraulichen Informationen ein.
- In Compartment erstellen: Das Compartment, in dem Sie das neue Netzwerk ablegen möchten.
- Neue öffentliche Subnetze erstellen: Ein Subnetz im Cloud-Netzwerk, an das die Instanz angehängt werden soll. Die Subnetze sind öffentlich oder privat. Privat bedeutet, dass die Instanzen in diesem Subnetz nicht über öffentliche IP-Adressen verfügen können. Weitere Informationen finden Sie unter Zugriff auf das Internet. Subnetze können auch Availability-Domain-spezifisch oder regional sein. Regionale haben nach dem Namen "regional". Es wird empfohlen, regionale Subnetze zu verwenden. Weitere Informationen finden Sie unter Regionale Subnetze.
- Neuer Subnetzname: Ein Name für das Subnetz. Er muss nicht eindeutig sein und kann später geändert werden. Geben Sie dabei keine vertraulichen Informationen ein.
- Erstellen in Compartment: Das Compartment, in dem Sie das Subnetz ablegen möchten.
- CIDR-Block: Ein einzelner, zusammenhängender CIDR-Block für das Subnetz, z.B. 172.16.0.0/24. Stellen Sie sicher, dass dieser sich im CIDR-Block des Cloud-Netzwerks befindet und nicht mit anderen Subnetzen überschneidet. Sie können diesen Wert später nicht ändern. Siehe Zulässige VCN-Größen- und Adressbereiche und diesen CIDR-Rechner.
Subnetz-OCID eingeben: Wählen Sie diese Option aus, und geben Sie dann die Subnetz-OCID ein.
- (Optional) Wenn das Subnetz öffentlich ist, wählen Sie Öffentliche IPv4-Adresse zuweisen aus, um der Instanz eine öffentliche IP-Adresse zuzuweisen. Mit einer öffentlichen IP-Adresse ist die Instanz über das Internet zugänglich. Weitere Informationen finden Sie unter Zugriff auf das Internet.
-
(Optional) Um erweiterte Networkingeinstellungen zu konfigurieren, klicken Sie auf Erweiterte Optionen anzeigen, und geben Sie nach Bedarf die folgenden Optionen an:
- Netzwerksicherheitsgruppen zur Kontrolle des Traffic verwenden: Wählen Sie diese Option aus, wenn Sie die primäre VNIC der Instanz zu einer oder mehreren Netzwerksicherheitsgruppen (NSGs) hinzufügen möchten. Geben Sie dann die NSGs an. Diese Option ist nur verfügbar, wenn Sie ein vorhandenes VCN verwenden. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.
- Private IP-Adresse: Geben Sie eine verfügbare private IP-Adresse Ihrer Wahl im CIDR des Subnetzes ein. Wenn Sie keinen Wert angeben, wird die private IP-Adresse automatisch zugewiesen.
- DNS-Datensatz: Geben Sie an, ob ein privater DNS-Datensatz zugewiesen werden soll.
- Hostname: Geben Sie einen Hostnamen für DNS im Cloud-Netzwerk ein. Diese Option ist nur verfügbar, wenn VCN und Subnetz über DNS-Labels verfügen und Sie ausgewählt haben, einen privaten DNS-Datensatz zuzuweisen.
- Vorhandenes virtuelles Cloud-Netzwerk auswählen: Wählen Sie diese Option aus, und geben Sie die folgenden Informationen ein.
- (Optional) Um erweiterte Einstellungen für die Containerinstanz zu konfigurieren, klicken Sie auf Erweiterte Optionen anzeigen, und geben Sie bei Bedarf die folgenden Optionen an:
- Auf der Registerkarte Erweiterte Optionen können Sie die folgenden Optionen konfigurieren:
- Timeout für vorzeitiges Herunterfahren (Sekunden): Legen Sie fest, wie lange die Containerinstanz auf das Herunterfahren des Betriebssystems wartet, bevor sie ausgeschaltet wird.
-
Containerneustart-Policy: Wählen Sie zwischen Immer, Nie und Bei Fehler aus.
Sie können die Neustart-Policy für die Container in einer Containerinstanz festlegen, wenn Sie sie erstellen. Wenn ein einzelner Container beendet wird (stoppt, startet oder ausfällt), sind Exitcode und Exitzeit in der API verfügbar, und die Neustart-Policy wird angewendet. Wenn alle Container beendet und nicht neu gestartet werden, wird die Containerinstanz heruntergefahren.
Wählen Sie eine der folgenden Optionen aus:
- Immer: Container werden immer neu gestartet, auch wenn sie erfolgreich beendet werden. "Immer" wird bevorzugt, wenn Sie sicherstellen möchten, dass Ihr Container immer ausgeführt wird, z. B. ein Webserver. Dies ist die Standardeinstellung.
- Nie: Container werden nie neu gestartet, unabhängig davon, warum sie beendet wurden.
- Bei Fehler: Container werden nur neu gestartet, wenn sie mit einem Fehler beendet werden. "Bei Fehler" wird bevorzugt, wenn Sie eine bestimmte Aufgabe ausführen und sicherstellen möchten, dass sie erfolgreich abgeschlossen wird.
- Fügen Sie auf der Registerkarte Tags der Containerinstanz Tags hinzu. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag zuzuweisen, benötigen Sie die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder wenden Sie sich an den Administrator. Sie können Tags später anwenden.
- Auf der Registerkarte Erweiterte Optionen können Sie die folgenden Optionen konfigurieren:
- Klicken Sie auf Weiter, um die Container innerhalb der Containerinstanz zu konfigurieren.
- Geben Sie einen Namen für den ersten Container ein. Sie können den Namen später hinzufügen oder ändern. Der Name muss nicht eindeutig sein, da eine Oracle Cloud-ID (OCID) den Container eindeutig identifiziert. Geben Sie dabei keine vertraulichen Informationen ein.
-
Klicken Sie unter Image auf Image auswählen, und führen Sie die folgenden Schritte im Bereich Containerimage aus, um ein Containerimage auszuwählen.
-
Wählen Sie eine Bildquelle:
-
OCI Container Registry: OCI Registry, auch als Container Registry bezeichnet, ist eine von Oracle verwaltete Registry, in der Sie Containerimages speichern, freigeben und verwalten können. Weitere Informationen finden Sie unter Container Registry.
-
Externe Registry: Eine externe Registry, wie Docker Hub, in der Sie ein Image auswählen können, das von Drittanbietern bereitgestellt wird.
- Vault Secrets für Image-Pull-Autorisierung: Sie können Containerimages in privaten Registrys oder Repositorys hosten, die autorisiert werden müssen, um die Images abzurufen. Wir empfehlen, Ihre Zugangsdaten mit dem Oracle Cloud Infrastructure Vault-Service zu speichern, um die Sicherheit und die Verwaltung von Zugangsdaten zu verbessern. Weitere Informationen finden Sie unter Vault Secrets für Image-Pull-Autorisierung.
-
-
Bild auswählen.
-
Klicken Sie auf Image auswählen.Hinweis
Sie müssen eine Policy erstellen, die das Containerimage auswählt. Siehe Containerimage mit der Konsole auswählen.
-
-
Im Abschnitt Umgebungsvariablen können Sie die vom Container verwendeten Umgebungsvariablen festlegen.
Containerimages unterstützen Umgebungsvariablen, um ihre Ausführung anzupassen. Beispiel: Das offizielle NGINX-Image unterstützt Umgebungsvariablen NGINX_HOST und NGINX_PORT, sodass Sie den Wert so festlegen können, dass die Ausführung an die folgenden Variablen angepasst wird:
- NGINX_HOST=foobar.com
- NGINX_PORT=80
- Um erweiterte Einstellungen für den Container zu konfigurieren, klicken Sie auf Erweiterte Optionen anzeigen, und geben Sie bei Bedarf die folgenden Optionen an:
- Auf der Registerkarte Ressourcen können Sie die Menge der Ressourcen konfigurieren, die der Container in absoluten oder prozentualen Werten verbraucht. Standardmäßig kann der Container alle Ressourcen in der Containerinstanz nutzen.
- Auf der Registerkarte Startoptionen können Sie Arbeitsverzeichnis- und ENTRYPOINT-Argumente für den Container konfigurieren.
- Auf der Registerkarte Sicherheit können Sie die Sicherheitseinstellungen des Containers angeben.
- Aktivieren Sie das Kontrollkästchen Schreibgeschütztes Root-Dateisystem aktivieren, um schreibgeschützten Zugriff auf das Root-Dateisystem des Containers anzuwenden.
- Aktivieren Sie das Kontrollkästchen Als Nicht-Root-Benutzer ausführen, um sicherzustellen, dass der Root-Benutzer den Container nicht ausführt.
- Wenn Sie Als Nicht-Root-Benutzer ausführen aktivieren, kann der Wert für Benutzer-ID nicht auf 0 gesetzt werden.
- Mit den Feldern Benutzer-ID und Gruppen-ID können Sie die Benutzer-ID (ID) und die Gruppen-ID (GID) festlegen, um den Einstiegspunktprozess des Containers auszuführen.
- Der Wert für Benutzer-ID und Gruppen-ID muss eine Ganzzahl zwischen 0 und 65535 sein. Der Standardwert ist 0.
- Die Werte für Benutzer-ID und Gruppen-ID, die Sie im Containerimage festgelegt haben, geben Überschreibungswerte an. Wenn der Wert für Benutzer-ID nicht angegeben ist, wird der Einstiegspunktprozess des Containers als Root-Benutzer ausgeführt.
- Sie müssen die Benutzer-ID festlegen, bevor Sie die Gruppen-ID festlegen.
- Im Abschnitt Linux-Funktionen konfigurieren können Sie Linux-Funktionen für Ihren Container konfigurieren. Standardmäßig wird der Container mit mehreren Funktionen gestartet, die Sie löschen können.
Sowohl das Feld Funktionen hinzufügen als auch das Feld Funktionen löschen unterstützen den Wert ALLE, der alle Funktionen zulässt oder löscht. Der Wert ALL bezieht sich auf die standardmäßig aktivierten Linux-Funktionen.
- Wenn Sie sowohl Hinzufügen-Funktionen als auch Löschen-Funktionen leer lassen, sind alle Standardfunktionen für Ihren Container verfügbar.
- Wenn Sie Alle in das Feld Funktionen hinzufügen eingeben, sind alle Funktionen verfügbar, mit Ausnahme der Funktionen, die Sie im Feld Entfernungsfunktionen auflisten, und Alle im Feld Entfernungsfunktionen wird ignoriert.
- Wenn Sie ALLE in das Feld Löschen von Funktionen eingeben, enthält der Container nur die Funktionen, die Sie im Feld Funktionen hinzufügen auflisten.
- In anderen Fällen löschen Sie alle Funktionen aus dem im Feld Entfernungsfunktionen aufgelisteten Standardset, fügen dann die im Feld Funktionen hinzufügen aufgelisteten Funktionen hinzu und geben schließlich das Ergebnis als Funktion für Ihren Container zurück.
- Die Containerinstanz kann nicht erstellt werden, wenn Sie Funktionen bereitstellen, die nicht in der folgenden Liste enthalten sind.
Alle Linux-Funktionen sind standardmäßig aktiviert, wenn Sie einen Container erstellen Funktion Beschreibung CAP_CHOWN Führt Änderungen an Datei-UIDs und GIDs aus. CAP_DAC_OVERRIDE Diskretionäre Zugriffskontrolle (DAC), die Datei-Lese-, Schreib- und Ausführungsberechtigungsprüfungen umgeht. CAP_FSETID - Löscht keine Bits im Set-User-ID- und Set-Group-ID-Modus, wenn eine Datei geändert wird.
- Legt das Set-group-ID-Bit für eine Datei fest, deren GID nicht mit dem Dateisystem oder einer der zusätzlichen GIDs des aufrufenden Prozesses übereinstimmt.
CAP_FOWNER Umgeht Berechtigungsprüfungen bei Vorgängen, bei denen normalerweise die Dateisystem-UID des Prozesses mit der UID der Datei übereinstimmt, und schließt die Vorgänge aus, die von CAP_DAC_OVERRIDE und CAP_DAC_READ_SEARCH abgedeckt werden. CAP_MKNOD Erstellt spezielle Dateien mit mknod(2). CAP_NET_RAW - Verwendet RAW- und PACKET-Buchsen.
- Bindet für transparentes Proxying an eine beliebige Adresse.
CAP_SETGID - Macht Manipulationen von Prozess-GIDs und ergänzender GID-Liste.
- Schmiert die GID, wenn Socket-Zugangsdaten über UNIX-Domain-Sockets übergeben werden.
- Schreibt eine Gruppen-ID-Zuordnung in einen Benutzer-Namespace.
CAP_SETUID - Macht Manipulationen von Prozess-UIDs.
- Schmiert die UID, wenn Socket-Zugangsdaten über UNIX-Domain-Sockets übergeben werden.
- Schreibt eine Benutzer-ID-Zuordnung in einen Benutzer-Namespace.
CAP_SETFCAP Legt die Dateifunktionen fest. CAP_SETPCAP Wenn die Dateifunktionen nicht unterstützt werden, erteilen oder entfernen Sie Funktionen, die in der zulässigen Funktion des Aufrufers auf oder aus einem anderen Prozess festgelegt sind. CAP_NET_BIND_SERVICE Bindet einen Socket an privilegierte Ports der Internetdomain (Portnummern kleiner als 1024). CAP_SYS_CHROOT Wechselt mit chroot(2) in ein anderes Root-Verzeichnis. CAP_KILL Umgeht Berechtigungsprüfungen für das Senden von Signalen, einschließlich der Verwendung des ioctl(2)-Vorgangs KDSIGACCEPT. CAP_AUDIT_WRITE Schreibt Datensätze in das Kernel-Auditinglog.
- Um einen anderen Container in der Instanz zu konfigurieren, klicken Sie auf + Weiterer Container, und wiederholen Sie die vorherigen Schritte.
- Klicken Sie auf Weiter, um die Containerinstanz und die zugehörigen Container zu prüfen.
- Klicken Sie auf Erstellen.
-
Mit dem Befehl "oci container-instances container-instance create" können Sie eine Containerinstanz erstellen. Um diesen Befehl zu verwenden, ersetzen Sie compartment_ocid, logical_ad und subnetId durch Ihre Ressourcen.$ compartment_ocid=ocid1.compartment.oc1.example $ logical_ad=Lnnj:US-EXAMPLE $ ci_shape=CI.Standard.E4.Flex $ shape_config_json='{"ocpus": 2,"memoryInGBs": 2}' $ containers_json='[{"imageUrl": "busybox", "command": ["bin/sh"], "arguments": ["-c", "echo Hello"]}]' $ vnics_json='[{"subnetId": "ocid1.subnet.oc1.example"}]' $ oci container-instances container-instance create --compartment-id "$compartment_ocid" --availability-domain "$logical_ad" --shape "$ci_shape" --shape-config "$shape_config_json" --containers "$containers_json" --vnics "$vnics_json"
Eine vollständige Liste der Kennzeichen und Variablenoptionen für CLI-Befehle finden Sie in der Befehlszeilenreferenz.
Verwenden Sie den Vorgang CreateContainerInstance.