Création d'une instance de conteneur
Créez une instance de conteneur.
Vous pouvez créer un maximum de 60 conteneurs sur chaque instance de conteneur.
- Lorsque vous créez une instance de conteneur, plusieurs autres ressources sont impliquées, telles qu'une image, un réseau en nuage et un sous-réseau. Ces ressources peuvent se trouver dans le même compartiment que l'instance ou dans d'autres compartiments. Pour créer l'instance, vous devez disposer du niveau d'accès requis pour chaque compartiment utilisé. Voir Politique GIA requise.
-
Lorsque vous spécifiez une image de conteneur, le registre dans lequel l'image vit doit être accessible à partir du sous-réseau que vous fournissez pour l'instance de conteneur. Si l'image de conteneur réside dans le registre de conteneurs OCI, spécifiez l'image dans un sous-réseau d'un réseau en nuage virtuel (VCN) avec une passerelle de service. Si l'image de conteneur réside dans un registre externe hébergé sur l'Internet public, spécifiez l'image dans un sous-réseau public dans un VCN avec une passerelle Internet ou dans un sous-réseau privé dans un VCN avec une passerelle de traduction d'adresses de réseau (NAT).
Pour créer une instance de conteneur :
-
Ouvrez le menu de navigation et cliquez sur Services de développement. Sous Conteneurs, cliquez sur Instances de conteneur.
- Cliquez sur Créer une instance de conteneur.
- Entrez le nom de l'instance du conteneur. Vous pourrez ajouter ou modifier le nom ultérieurement. Le nom n'a pas besoin d'être unique car l'identificateur Oracle Cloud (OCID) identifie de manière unique l'instance de conteneur. Évitez d'entrer des informations confidentielles.
- Sélectionnez le compartiment dans lequel créer l'instance. Les autres ressources que vous choisissez peuvent venir de différents compartiments.
- Sous Positionnement, sélectionnez les options suivantes :
- Sélectionnez le domaine de disponibilité dans lequel vous souhaitez créer l'instance.
-
Si vous souhaitez spécifier un domaine d'erreur, cliquez sur Afficher les options avancées. Puis, pour domaine d'erreur, sélectionnez le domaine d'erreur à utiliser pour l'instance. Si vous ne spécifiez pas le domaine d'erreur, le système en sélectionne un pour vous. Vous pouvez modifier le domaine d'erreur après avoir créé l'instance. Pour plus d'informations, voir Domaines d'erreur.
Sous Forme, sélectionnez la forme flexible pour l'instance de conteneur. Les formes flexibles ont un nombre et une quantité de mémoire personnalisables.
- Pour Nombre d'unités OCPU, sélectionnez le nombre d'unités OCPU à affecter à cette instance en faisant glisser le curseur. Les autres ressources sont ajustées en proportion.
- Pour Quantité de mémoire (Go), sélectionnez la quantité de mémoire à affecter à cette instance en faisant glisser le curseur. La quantité de mémoire autorisée dépend du nombre d'OCPU sélectionné.
Note
Vous aurez besoin d'une règle de sécurité dans le cadre d'une liste de sécurité ou d'un groupe de sécurité de réseau pour autoriser le trafic réseau vers les applications exécutées dans le conteneur. Par exemple, si votre application s'exécute sur le protocole TCP, le port 8080, vous avez besoin d'une règle de sécurité pour TCP et le port 8080. Pour plus d'informations sur la configuration de règles de sécurité, voir Règles de sécurité.- Pour Réseau principal et Sous-réseau, spécifiez le réseau en nuage virtuel (VCN) et le sous-réseau dans lesquels créer l'instance. Indiquez si vous souhaitez utiliser un VCN et un sous-réseau existants, créer un nouveau VCN ou un sous-réseau, ou entrez l'OCID d'un sous-réseau existant :
- Sélectionner un réseau en nuage virtuel existant : Sélectionnez cette option, puis entrez les informations suivantes.
- Réseau en nuage virtuel : Réseau en nuage dans lequel créer l'instance.
- Sous-réseau : Sous-réseau dans le réseau en nuage auquel l'instance est attachée. Les sous-réseaux sont publics ou privés. Privé signifie que les instances de ce sous-réseau ne peuvent pas avoir d'adresses IP publiques. Pour plus d'informations, voir Accès à Internet. Les sous-réseaux peuvent également être propres à un domaine de disponibilité ou régionaux. Les régions ont "régional" après le nom. Nous recommandons d'utiliser des sous-réseaux régionaux. Pour plus d'informations, voir À propos des sous-réseaux régionaux.
- Pour utiliser un sous-réseau existant, sélectionnez Sélectionner un sous-réseau existant, puis sélectionnez-le.
- Pour créer un sous-réseau, sélectionnez Créer un sous-réseau public, puis entrez les informations suivantes :
- Nom du nouveau sous-réseau : Nom pour le sous-réseau. Évitez d'entrer des informations confidentielles.
- Créer dans le compartiment : Compartiment dans lequel placer le sous-réseau.
- Bloc CIDR : Bloc CIDR contigu unique pour le sous-réseau (par exemple, 172.16.0.0/24). Assurez-vous qu'il est compris dans le bloc CIDR du réseau en nuage et que ses adresses ne chevauchent pas celles des autres sous-réseaux. Vous ne pouvez pas modifier cette valeur ultérieurement. Voir Taille et intervalles d'adresses de réseau VCN autorisés. Pour référence, ici, un calculateur CIDR.
- Créer un réseau en nuage virtuel : Sélectionnez cette option, puis entrez les informations suivantes.
- Nom du nouveau réseau en nuage virtuel : Nom du sous-réseau. Nom convivial pour le réseau. Évitez d'entrer des informations confidentielles.
- Créer dans le compartiment : compartiment dans lequel placer le nouveau réseau.
- Créer un sous-réseau public : sous-réseau dans le réseau en nuage auquel attacher l'instance. Les sous-réseaux sont publics ou privés. Privé signifie que les instances de ce sous-réseau ne peuvent pas avoir d'adresses IP publiques. Pour plus d'informations, voir Accès à Internet. Les sous-réseaux peuvent également être propres à un domaine de disponibilité ou régionaux. Les régions ont "régional" après le nom. Nous recommandons d'utiliser des sous-réseaux régionaux. Pour plus d'informations, voir À propos des sous-réseaux régionaux.
- Nom du nouveau sous-réseau : Nom du sous-réseau. Il n'a pas besoin d'être unique et peut être modifié ultérieurement. Évitez d'entrer des informations confidentielles.
- Créer dans le compartiment : Compartiment dans lequel placer le sous-réseau.
- Bloc CIDR : Un seul bloc CIDR contigu pour le sous-réseau, par exemple, 172.16.0.0/24. Assurez-vous qu'il est compris dans le bloc CIDR du réseau en nuage et que ses adresses ne chevauchent pas celles des autres sous-réseaux. Vous ne pouvez pas modifier cette valeur ultérieurement. Voir Taille et intervalles d'adresses de réseau VCN autorisés et ce calculateur CIDR.
Entrer l'OCID du sous-réseau : sélectionnez cette option, puis entrez l'OCID du sous-réseau.
- (Facultatif) Si le sous-réseau est public, sélectionnez Affecter une adresse IPv4 publique pour affecter une adresse IP publique à l'instance. Une adresse IP publique rend l'instance accessible sur Internet. Pour plus d'informations, voir Accès à Internet.
-
(Facultatif) Pour configurer des paramètres de réseau avancés, cliquez sur Afficher les options avancées, puis spécifiez les options suivantes selon les besoins :
- Utiliser des groupes de sécurité de réseau pour contrôler le trafic : Sélectionnez cette option si vous voulez ajouter la carte VNIC principale de l'instance à un ou plusieurs groupes de sécurité de réseau. Spécifiez ensuite ces derniers. Cette option n'est disponible que lorsque vous utilisez un VCN existant. Pour plus d'informations, voir Groupes de sécurité de réseau.
- Adresse IP privée : Entrez une adresse IP privée disponible de votre choix dans le CIDR du sous-réseau. Si vous ne spécifiez pas de valeur, l'adresse IP privée est automatiquement affectée.
- Enregistrement DNS : Spécifiez s'il faut affecter un enregistrement DNS privé.
- Nom d'hôte : Entrez un nom d'hôte à utiliser pour le DNS dans le réseau en nuage. Cette option n'est disponible que si VCN et le sous-réseau ont tous deux des étiquettes DNS et que vous avez sélectionné d'affecter un enregistrement DNS privé.
- Sélectionner un réseau en nuage virtuel existant : Sélectionnez cette option, puis entrez les informations suivantes.
- (Facultatif) Pour configurer des paramètres avancés pour l'instance de conteneur, cliquez sur Afficher les options avancées, puis spécifiez les options suivantes selon les besoins :
- Dans l'onglet Options avancées, vous pouvez configurer les options suivantes :
- Temporisation d'arrêt Graceful (secondes) : Définissez le temps pendant lequel l'instance de conteneur attend que le système d'exploitation s'arrête avant de s'éteindre.
-
Politique de redémarrage du conteneur : Sélectionnez Toujours, Jamais et En cas d'échec.
Vous pouvez définir la politique de redémarrage pour les conteneurs d'une instance de conteneur lors de leur création. Lorsqu'un conteneur individuel quitte (arrête, redémarre ou échoue), le code de sortie et l'heure de sortie sont disponibles dans l'API et la politique de redémarrage est appliquée. Si tous les conteneurs sortent et ne redémarrent pas, l'instance de conteneur est arrêtée.
Sélectionnez une des options suivantes :
- Toujours : Les conteneurs redémarrent toujours, même s'ils sortent avec succès. "Toujours" est préférable si vous voulez vous assurer que votre conteneur est toujours en cours d'exécution, comme un serveur Web. Ce paramètre de politique est la valeur par défaut.
- Jamais : Les conteneurs ne redémarrent jamais, quelle que soit la raison de leur sortie.
- En cas d'échec : Les conteneurs ne redémarrent que s'ils sortent avec une erreur. "En cas d'échec" est préférable si vous souhaitez accomplir une certaine tâche et vous assurer qu'elle se termine avec succès.
- Dans l'onglet Marqueurs, ajoutez des marqueurs à l'instance de conteneur. Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne êtes pas sûr d'appliquer des marqueurs, ignorez cette option ou demandez à l'administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Dans l'onglet Options avancées, vous pouvez configurer les options suivantes :
- Cliquez sur Suivant pour configurer les conteneurs dans l'instance de conteneur.
- Entrez un nom pour le premier conteneur. Vous pourrez ajouter ou modifier le nom ultérieurement. Le nom n'a pas besoin d'être unique car l'identificateur Oracle Cloud (OCID) identifie de manière unique le conteneur. Évitez d'entrer des informations confidentielles.
-
Sous Image, cliquez sur Sélectionner une image, puis suivez ces étapes dans le panneau Image de conteneur pour sélectionner une image de conteneur.
-
Sélectionner une source d'image :
-
Registre de conteneurs pour OCI : Le service de registre d'OCI, également connu sous le nom de registre de conteneurs, est un registre géré par Oracle qui permet de stocker, de partager et de gérer des images de conteneurs. Pour plus d'informations, voir Registre de conteneurs.
-
Registre externe : Registre externe, tel que Docker Hub, dans lequel vous pouvez choisir une image fournie par des fournisseurs tiers.
- Clés secrètes de chambre forte pour l'autorisation d'extraction d'images : Vous pouvez héberger des images de conteneur dans des registres privés ou des référentiels qui nécessitent une autorisation pour extraire les images. Nous vous recommandons de stocker vos données d'identification à l'aide du service Oracle Cloud Infrastructure Vault pour améliorer la sécurité et faciliter la gestion des données d'identification. Pour plus d'informations, voir Clés secrètes de chambre forte pour l'autorisation d'extraction d'images.
-
-
Sélectionnez une image.
-
Cliquez sur Sélectionner une image.Note
Vous devez créer une politique qui sélectionne l'image de conteneur. Voir Sélection de l'image de conteneur à l'aide de la console.
-
-
Sous la section Variables d'environnement, vous pouvez définir les variables d'environnement utilisées par le conteneur.
Les images de conteneur prennent en charge les variables d'environnement pour personnaliser leur exécution. Par exemple, l'image NGINX officielle prend en charge les variables d'environnement NGINX_HOST et NGINX_PORT, afin que vous puissiez régler la valeur pour personnaliser l'exécution aux variables suivantes :
- NGINX_HOST=foobar.com
- NGINX_PORT=80
- Pour configurer des paramètres avancés pour le conteneur, cliquez sur Afficher les options avancées, puis spécifiez les options suivantes selon les besoins :
- Dans l'onglet Ressources, vous pouvez configurer la quantité de ressources que le conteneur consomme en valeurs absolues ou en pourcentages. Par défaut, le conteneur peut utiliser toutes les ressources de l'instance de conteneur.
- Dans l'onglet Options de démarrage, vous pouvez configurer le répertoire de travail et les arguments ENTRYPOINT pour le conteneur.
- Dans l'onglet Sécurité, vous pouvez spécifier les paramètres de sécurité du conteneur.
- Cochez la case Activer le système de fichiers racine en lecture seule pour appliquer un accès en lecture seule au système de fichiers racine du conteneur.
- Cochez la case Exécuter en tant qu'utilisateur non racine pour vous assurer que l'utilisateur racine n'exécute pas le conteneur.
- Lorsque vous activez l'option Exécuter en tant qu'utilisateur non racine, la valeur ID utilisateur ne peut pas être réglée à 0.
- Utilisez les champs ID utilisateur et ID groupe pour définir l'ID utilisateur et l'ID groupe pour exécuter le processus de point d'entrée du conteneur.
- La valeur des champs ID utilisateur et ID groupe doit être un nombre entier compris entre 0 et 65535. La valeur par défaut est 0.
- Les valeurs ID utilisateur et ID groupe que vous spécifiez remplacent les valeurs définies dans l'image de conteneur. Lorsque la valeur ID utilisateur n'est pas spécifiée, le processus de point d'entrée du conteneur s'exécute en tant qu'utilisateur racine.
- Vous devez définir l'ID utilisateur avant de définir l'ID groupe.
- Sous la section Configurer les capacités Linux, vous pouvez configurer les capacités Linux pour votre conteneur. Par défaut, le conteneur est lancé avec plusieurs fonctionnalités que vous pouvez choisir de supprimer.
Le champ Ajouter des capacités et le champ Supprimer des capacités prennent en charge la valeur TOUT, ce qui autorise ou supprime toutes les capacités. La valeur ALL fait référence aux capacités Linux activées par défaut.
- Si vous laissez les champs Ajouter des capacités et Supprimer des capacités vides, toutes les capacités par défaut sont disponibles pour votre conteneur.
- Si vous entrez TOUTES dans le champ Ajouter des capacités, toutes les capacités sont disponibles à l'exception de celles que vous indiquez dans le champ Supprimer les capacités, et ignore TOUTES dans le champ Supprimer les capacités.
- Si vous entrez TOUT dans le champ Supprimer les capacités, le conteneur ne contient que les capacités que vous répertoriez dans le champ Ajouter des capacités.
- Dans d'autres cas, supprime toutes les capacités du jeu par défaut indiqué dans le champ Supprimer les capacités, puis ajoute les capacités indiquées dans le champ Ajouter des capacités et retourne finalement le résultat en tant que capacité pour votre conteneur.
- La création de l'instance de conteneur échoue si vous fournissez des capacités qui ne figurent pas dans la liste ci-dessous.
Toutes les fonctionnalités Linux activées par défaut lorsque vous créez un conteneur Fonction Description CAP_CHOWN Apporte des modifications aux UID et IDG de fichier. CAP_DAC_OVERRIDE Contrôle d'accès discrétionnaire (DAC) qui contourne les vérifications des autorisations de lecture, d'écriture et d'exécution des fichiers. CAP_FSETID - Ne supprime pas les bits de mode set-user-ID et set-group-ID lorsqu'un fichier est modifié.
- Définit le bit set-group-ID d'un fichier dont l'IDG ne correspond pas au fichier. système ou à l'un des IDG supplémentaires du processus appelant.
CAP_FOWNER Ignore les vérifications d'autorisation pour les opérations qui nécessitent normalement l'UID système de fichiers du processus pour correspondre à l'UID du fichier, exclut les opérations couvertes par CAP_DAC_OVERRIDE et CAP_DAC_READ_SEARCH. CAP_MKNOD Crée des fichiers spéciaux à l'aide de mknod(2). CAP_NET_RAW - Utilise des prises RAW et PACKET.
- Liaison à n'importe quelle adresse pour un proxy transparent.
CAP_SETGID - Permet de manipuler les IDG de processus et la liste d'IDG supplémentaire.
- Forge l'IDG lors de la transmission des données d'identification de connecteur logiciel au moyen de connecteurs logiciels de domaine UNIX.
- Ecrit un mappage d'ID groupe dans un espace de noms d'utilisateur.
CAP_SETUID - Permet de manipuler les UID de processus.
- Forge l'UID lors de la transmission des données d'identification de connecteur logiciel au moyen de connecteurs logiciels de domaine UNIX.
- Ecrit un mappage d'ID utilisateur dans un espace de noms d'utilisateur.
CAP_SETFCAP Définit les capacités des fichiers. CAP_SETPCAP Si les capacités de fichier ne sont pas prises en charge, accorde ou supprime toute capacité dans la capacité autorisée de l'appelant définie pour ou à partir de tout autre processus. CAP_NET_BIND_SERVICE Relie un connecteur logiciel à des ports privilégiés de domaine Internet (numéros de port inférieurs à 1024). CAP_SYS_CHROOT Utilise chroot(2) pour passer à un autre répertoire racine. CAP_KILL Ignore les vérifications d'autorisation pour l'envoi de signaux, ce qui inclut l'utilisation de l'opération ioctl(2) KDSIGACCEPT. CAP_AUDIT_WRITE Écrit les enregistrements dans le journal d'audit du noyau.
- Pour configurer un autre conteneur dans l'instance, cliquez sur + Un autre conteneur et répétez les étapes précédentes.
- Cliquez sur Suivant pour vérifier l'instance de conteneur et ses conteneurs.
- Cliquez sur Créer.
-
Utilisez la commande oci container-instances container-instance create pour créer une instance de conteneur. Pour utiliser cette commande, remplacez compartment_ocid, logical_ad et subnetId par vos ressources.$ 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"Pour la liste complète des indicateurs et des options de variable pour les commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande.
Utilisez l'opération CreateContainerInstance.