Création d'une instance de conteneur
Pour créer une instance de conteneur, procédez comme suit :
- Lors de la création d'une instance de conteneur, plusieurs autres ressources sont impliquées (image, réseau cloud, sous-réseau, par exemple). Ces ressources peuvent se retrouver dans le même compartiment que l'instance ou dans d'autres compartiments. Vous devez disposer du niveau d'accès requis pour chaque compartiment impliqué afin de créer l'instance. Reportez-vous à Stratégie IAM requise.
-
Lorsque vous spécifiez une image de conteneur, le registre dans lequel vit l'image doit être accessible à partir du sous-réseau que vous fournissez pour l'instance de conteneur. Si l'image de conteneur réside dans OCI Container Registry, indiquez l'image dans un sous-réseau dans un réseau cloud virtuel (VCN) avec une passerelle de service. Si l'image de conteneur réside dans un registre externe hébergé sur le réseau 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 NAT (Network Address Translation).
Vous pouvez créer un maximum de 60 conteneurs sur chaque instance de conteneur.
Pour créer une instance de conteneur, procédez comme suit :
- Accédez à la page de liste Instances de conteneur. Si vous avez besoin d'aide pour trouver la page de liste, reportez-vous à Liste des instances de conteneur.
- Sélectionnez Créer une instance de conteneur.
- Renseignez les informations pour les étapes numérotées comme suit.
1. Ajouter les détails de base
- Nom : entrez le nom de l'instance de conteneur. Vous pouvez ajouter ou modifier le nom ultérieurement. Le nom n'a pas besoin d'être unique car un identificateur Oracle Cloud (OCID) identifie l'instance de conteneur de façon unique. Evitez de saisir des informations confidentielles.
- Créer dans le compartiment : sélectionnez le compartiment dans lequel créer l'instance. Les autres ressources que vous choisissez peuvent provenir de différents compartiments.
Balises
Dans la section Balises, ajoutez des balises à l'instance de conteneur. Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise définie, vous devez disposer de droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain de devoir appliquer des balises, ignorez cette option ou demandez à l'administrateur. Vous pouvez appliquer des balises ultérieurement.
Placement
Dans la section Placement, sélectionnez les options suivantes :
- Domaine de disponibilité : sélectionnez le domaine de disponibilité dans lequel créer l'instance.
-
Domaine de pannes (facultatif) : par défaut, le système sélectionne un domaine de pannes pour vous. Vous pouvez également sélectionner le domaine d'erreur à utiliser pour l'instance. Pour plus d'informations, reportez-vous à Domaines de pannes.
Forme
Dans la section Forme, choisissez la forme flexible pour l'instance de conteneur. Les formes flexibles ont un nombre d'OCPU et une quantité de mémoire personnalisables, qui sont personnalisables. Sélectionnez Modifier la forme pour apporter des modifications à la forme.
- Nombre d'OCPU : dans Nombre d'OCPU, sélectionnez le nombre d'OCPU à allouer à cette instance en faisant glisser le curseur. Les autres ressources sont redimensionnées de façon proportionnelle.
- Quantité de mémoire (Go) : dans Quantité de mémoire (Go), choisissez la quantité de mémoire à allouer à cette instance en faisant glisser le curseur. La quantité de mémoire autorisée est basée sur le nombre d'OCPU sélectionnées.
Mise en réseau
Dans la section Fonctions de réseau, configurez les détails du réseau pour l'instance :Remarque
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é réseau pour autoriser le trafic réseau vers les applications exécutées dans le conteneur. Par exemple, si votre application est exécutée sur le port TCP 8080, vous avez besoin d'une règle de sécurité pour TCP et le port 8080. Pour plus d'informations sur la configuration des règles de sécurité, reportez-vous à Règles de sécurité.- Réseau principal:
Sélectionnez une option :
- Sélectionner un réseau cloud virtuel existant : sélectionnez un VCN existant.
- Créer un réseau cloud virtuel : créez un VCN dans cette boîte de dialogue.
- Entrer l'OCID de sous-réseau : entrez l'OCID d'un VCN existant.
Renseignez les champs suivants :
- Compartiment de réseau cloud virtuel : sélectionnez le compartiment.
- Réseau cloud virtuel : sélectionnez votre VCN.
- Sous-réseau
Sous-réseau du réseau cloud auquel l'instance est attachée. Ces sous-réseaux sont publics ou privés. Les instances d'un sous-réseau privé ne peuvent pas disposer d'adresses IP publiques. Pour plus d'informations, reportez-vous à 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 vous recommandons d'utiliser des sous-réseaux régionaux. Pour plus d'informations, reportez-vous à A propos des sous-réseaux locaux.
Sélectionnez l'option de sous-réseau suivante :
- Sélectionner un sous-réseau existant : sélectionnez le compartiment et le sous-réseau.
- Créer un sous-réseau public : entrez les informations suivantes :
- Nouveau nom de sous-réseau : nom convivial du sous-réseau. Evitez de saisir des informations confidentielles.
- Compartiment du sous-réseau : compartiment vers lequel placer le sous-réseau.
- Bloc CIDR : bloc CIDR unique et contigu pour le sous-réseau (par exemple, 172.16.0.0/24). Assurez-vous qu'il se situe dans le bloc CIDR du réseau cloud et qu'il ne chevauche aucun autre sous-réseau. Vous pouvez pas modifier cette valeur ultérieurement. Reportez-vous à Allowed VCN Size and Address Ranges. Pour référence, voici un calculateur de CIDR.
- Adresse IPv4 publique
Sélectionnez une option :
- Affectez une adresse IPv4 publique : pour affecter à l'instance une adresse IP publique. Une adresse IP publique permet d'accéder à l'instance à partir d'Internet. Pour plus d'informations, reportez-vous à Accès à Internet.
- N'affectez pas d'adresse IPv4 publique : aucune adresse IP publique ne lui est affectée.
- Options de fonctions de réseau avancées
Sélectionnez les options de mise en réseau avancées.
- Utiliser les groupes de sécurité réseau pour contrôler le trafic : sélectionnez cette option afin d'ajouter la carte d'interface réseau virtuelle principale de l'instance à des groupes de sécurité réseau. Spécifiez ensuite les groupes de sécurité réseau. Cette option est disponible uniquement lorsque vous utilisez un VCN existant. Pour plus d'informations, reportez-vous à Groupes de sécurité réseau.
- Activer la vérification d'une destination source : permet d'indiquer si la vérification d'une destination/source est désactivée sur la carte d'interface réseau virtuelle.
- Adresse IP privé : entrez l'adresse IP privé disponible de votre choix provenant du CIDR du sous-réseau. Si vous n'indiquez aucune valeur, l'adresse IP privée est automatiquement affectée.
- Enregistrement DNS : indiquez s'il faut affecter un enregistrement DNS privé.
- Nom d'hôte : entrez le nom d'hôte à utiliser pour DNS dans le réseau cloud. Cette option n'est disponible que si le VCN et le sous-réseau ont tous deux des étiquettes DNS et que vous avez sélectionné l'affectation d'un enregistrement DNS privé.
Options avancées
Configurez les paramètres avancés pour l'instance de conteneur.
- Délai d'expiration de l'arrêt progressif (secondes) : définissez la durée d'attente de l'arrêt de l'O/S par l'instance de conteneur avant la mise hors tension.
- Stratégie de redémarrage de conteneur:
Vous pouvez définir la stratégie de redémarrage des conteneurs dans une instance de conteneur lorsque vous les créez. Lorsqu'un conteneur individuel se ferme (arrête, redémarre ou échoue), le code de sortie et l'heure de sortie sont disponibles dans l'API et la stratégie de redémarrage est appliquée. Si tous les conteneurs quittent et ne redémarrent pas, l'instance de conteneur s'arrête.
Sélectionnez l'une des options suivantes :
- Toujours : les conteneurs redémarrent toujours, même s'ils s'arrêtent correctement. "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 stratégie est défini par défaut.
- Jamais : les conteneurs ne redémarrent jamais, quelle que soit la raison de leur fermeture.
- En cas d'échec : les conteneurs ne redémarrent que s'ils se ferment avec une erreur. L'option "En cas d'échec" est recommandée si vous souhaitez effectuer une certaine tâche et vous assurer qu'elle se termine avec succès.
Sélectionnez Suivant pour configurer les conteneurs dans l'instance de conteneur.
2. Configurer des conteneurs
Renseignez les informations suivantes sur le récipient.
- Nom : entrez le nom du premier conteneur. Vous pouvez ajouter ou modifier le nom ultérieurement. Le nom n'a pas besoin d'être unique, car un OCID Oracle Cloud identifie le conteneur de façon unique. Evitez de saisir des informations confidentielles.
- Image :
Sélectionnez Sélectionner une image, puis suivez ces étapes.
Sélectionnez une source d'image :
- OCI Container Registry : OCI Registry, également appelé Container Registry, est un registre géré par Oracle qui vous permet de stocker, de partager et de gérer des images de conteneur. Pour plus d'informations, reportez-vous à Container Registry.
- Registre externe : registre externe, tel que Docker Hub, dans lequel vous pouvez choisir une image fournie par des fournisseurs tiers.
Clé secrète OCI Vault : vous pouvez héberger des images de conteneur dans des registres ou des référentiels privés nécessitant une autorisation afin d'extraire les images. Nous vous recommandons de stocker vos informations d'identification à l'aide du service Oracle Cloud Infrastructure Vault afin d'améliorer la sécurité et de faciliter la gestion des informations d'identification. Pour plus d'informations, reportez-vous à Clés secrètes Vault pour l'autorisation d'extraction d'image.
- Variables d'environnement
Définissez 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_HOSTetNGINX_PORT. Vous pouvez donc définir la valeur de personnalisation de l'exécution sur les variables suivantes :NGINX_HOST=foobar.com NGINX_PORT=80 - Ressources : vous pouvez configurer la quantité de ressources consommée par le conteneur en absolus ou en pourcentages. Par défaut, le conteneur peut utiliser toutes les ressources dans l'instance de conteneur.
- Options de démarrage : vous pouvez configurer le répertoire de travail et les arguments
ENTRYPOINTpour le conteneur. - Sécurité : vous pouvez indiquer 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 root pour vous assurer que le conteneur ne s'exécute pas en tant qu'utilisateur root.
- Lorsque vous activez Exécuter en tant qu'utilisateur non root, la valeur ID utilisateur ne peut pas être définie sur 0.
- Utilisez les champs ID utilisateur et ID groupe pour définir l'ID utilisateur et l'ID groupe afin d'exécuter le processus de point d'entrée du conteneur.
- La valeur de ID utilisateur et ID groupe doit être un entier compris entre 0 et 65535. La valeur par défaut est 0.
- Les valeurs ID utilisateur et ID groupe que vous indiquez 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 root.
- Vous devez définir l'ID utilisateur avant de définir l'ID groupe.
- Sous la section Configurer les fonctionnalités Linux, vous pouvez configurer les fonctionnalité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 fonctionnalités et le champ Supprimer des fonctionnalités prennent en charge la valeur ALL, qui autorise ou supprime toutes les fonctionnalités. La valeur ALL fait référence aux fonctionnalités Linux activées par défaut.
- Si vous ne renseignez pas les champs Ajouter des fonctionnalités et Supprimer, toutes les fonctionnalités par défaut sont disponibles pour votre conteneur.
- Si vous entrez ALL dans le champ Ajouter des fonctionnalités, toutes les fonctionnalités sont disponibles, à l'exception de celles répertoriées dans le champ Fonctionnalités de suppression, et ignore ALL dans le champ Fonctionnalités de suppression.
- Si vous saisissez ALL dans le champ Fonctionnalités de suppression, le conteneur contient uniquement les fonctionnalités répertoriées dans le champ Ajouter des fonctionnalités.
- Dans d'autres cas, supprime toutes les fonctionnalités de l'ensemble par défaut répertorié dans le champ Fonctions de suppression, puis ajoute les fonctionnalités répertoriées dans le champ Ajouter des fonctionnalités et renvoie finalement le résultat en tant que capacité pour votre conteneur.
- La création de l'instance de conteneur échoue si vous fournissez des fonctionnalités qui ne figurent pas dans la liste ci-dessous.
Toutes les fonctionnalités Linux activées par défaut lors de la création d'un conteneur Capacité Description CAP_CHOWN Apporte des modifications aux UID de fichier et aux GID. CAP_DAC_OVERRIDE Contrôle d'accès discrétionnaire (DAC) qui contourne les vérifications d'autorisation de lecture, d'écriture et d'exécution de fichiers. CAP_FSETID - N'efface pas les bits en mode set-user-ID et set-group-ID lorsqu'un fichier est modifié.
- Définit le bit set-group-ID pour un fichier dont le GID ne correspond pas au fichier. système ou l'un des GID supplémentaires du processus appelant.
CAP_FOWNER Ignore les vérifications de droits d'accès sur les opérations qui nécessitent normalement que l'UID du système de fichiers du processus corresponde à 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 - Effectue des manipulations des IDG de processus et de la liste des IDG supplémentaires.
- Forge le GID lors de la transmission des informations d'identification de socket via les sockets de domaine UNIX.
- Ecrit un mappage d'ID de groupe dans un espace de noms utilisateur.
CAP_SETUID - Effectue des manipulations des UID de processus.
- Forge l'UID lors de la transmission des informations d'identification de socket via les sockets de domaine UNIX.
- Ecrit une mise en correspondance d'ID utilisateur dans un espace de noms utilisateur.
CAP_SETFCAP Définit les fonctionnalités des fichiers. CAP_SETPCAP Si les fonctionnalités de fichier ne sont pas prises en charge, accorde ou supprime toute capacité dans la capacité autorisée de l'appelant définie sur ou à partir de tout autre processus. CAP_NET_BIND_SERVICE Associe un socket aux ports privilégiés du domaine Internet (numéros de port inférieurs à 1024). CAP_SYS_CHROOT Utilise chroot(2) pour passer à un autre répertoire root. CAP_KILL Ignore les contrôles d'autorisation pour l'envoi de signaux, ce qui inclut l'utilisation de l'opération ioctl(2) KDSIGACCEPT. CAP_AUDIT_WRITE Ecrit les enregistrements dans le journal d'audit du noyau.
- Pour configurer un autre conteneur dans l'instance, cliquez sur + Autre conteneur et répétez les étapes précédentes.
Sélectionnez Suivant pour vérifier l'instance de conteneur et ses conteneurs.
Révision
Vérifier les sélections.
Choisissez Créer.
Utilisez la commande
oci container-instances container-instance createpour 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"Afin d'obtenir la liste complète des indicateurs et des options de variable pour les commandes d'interface de ligne de commande, reportez-vous à Référence de ligne de commande.
Utilisez l'opération CreateContainerInstance.