Vous pouvez configurer une instance Compute Engine ou un modèle d'instance pour déployer et lancer un conteneur Docker. Compute Engine fournit une image Container-Optimized OS (COS) à jour avec Docker installé et lance votre conteneur au démarrage de votre instance.
Avant de commencer
- Si vous ne connaissez pas bien les conteneurs, consultez la page Les conteneurs et leurs avantages.
- Si vous ne connaissez pas bien Docker, lisez la documentation Docker.
- Apprenez-en plus sur Container-Optimized OS.
- Apprenez-en plus sur les groupes d'instances gérés (MIG).
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux Google Cloud services et aux API.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Gérez les instances qui exécutent des conteneurs de la même manière que vous traiteriez toute autre instance lors de la configuration et de la gestion de votre infrastructure Compute Engine.
- Gérez vos instances avec des conteneurs à l'aide de processus et d'outils familiers, comme Google Cloud CLI ou l'API Compute Engine.
- Créez des services adaptables à l'aide de groupes d'instances gérés (MIG, managed instance groups) exécutant des conteneurs. Les MIG offrent des fonctionnalités telles que l'autoscaling, l'autoréparation, les mises à jour progressives, les déploiements multizones et l'équilibrage de charge.
- exécuter un grand nombre de microservices ;
- faire en sorte que les conteneurs démarrent plus rapidement ;
- tirer parti de l'orchestration automatisée de Kubernetes, y compris des mises à niveau automatiques, de la réparation automatique des nœuds et de l'autoscaling.
- Déployer le logiciel au démarrage de l'instance à l'aide d'un script de démarrage ou de cloud-init
- Créer une image de disque de démarrage personnalisée avec les logiciels préinstallés
- Regroupez votre application et les bibliothèques requises dans une image Docker, puis publiez cette image dans Artifact Registry ou un registre tiers tel que Docker Hub.
- Spécifiez un nom d'image Docker ainsi qu'une configuration de
docker run
lors de la création d'une instance ou d'un modèle d'instance pour une MIG. - Compute Engine crée une instance de VM qui utilise une image Container-Optimized OS fournie par Google. Cette image inclut un environnement d'exécution Docker et des logiciels supplémentaires chargés de démarrer votre conteneur.
- Compute Engine stocke les paramètres du conteneur dans les métadonnées d'instance sous la clé de métadonnées
gce-container-declaration
. - Lorsque la VM démarre, l'image Container-Optimized OS utilise la configuration de commande
docker run
stockée dans les métadonnées de l'instance, extrait l'image du conteneur à partir du dépôt et lance le conteneur. - Vous ne pouvez déployer qu'un seul conteneur pour chaque instance. Envisagez d'utiliser Google Kubernetes Engine si vous devez déployer plusieurs conteneurs par instance.
Vous ne pouvez déployer des conteneurs qu'à partir d'un dépôt public ou d'un dépôt Artifact Registry ou Container Registry privé auquel vous avez accès. Les autres dépôts privés ne sont pas compatibles.
Pour en savoir plus sur les autorisations de registre privé, consultez la documentation sur le contrôle des accès pour Artifact Registry ou Container Registry.
Vous ne pouvez pas mapper les ports d'une instance aux ports du conteneur (option
-p
de Docker). Pour activer l'accès à vos conteneurs, consultez la section Publier des ports de conteneurs.Avec cette méthode de déploiement, vous ne pouvez utiliser que des images Container-Optimized OS.
Cette fonctionnalité n'est disponible que via Google Cloud Console ou Google Cloud CLI, et non via l'API.
- Importez votre image Docker dans Artifact Registry.
- Utilisez n'importe quelle image de conteneur publique disponible provenant de Docker Hub ou d'autres registres.
Dans le volet Configuration de la machine, accédez à Nom et spécifiez un nom pour votre instance. Pour en savoir plus, consultez les Recommandations pour l'attribution de noms aux ressources.
Dans le menu de navigation, cliquez sur OS et stockage. Le volet Système d'exploitation et stockage s'affiche.
Accédez à la section Conteneur, puis cliquez sur Déployer le conteneur. Dans le volet Configurer le conteneur qui s'affiche, procédez comme suit:
- Spécifiez l'Image de conteneur à utiliser. Prenons les exemples suivants :
- Pour sélectionner une image de conteneur NGINX 1.12 à partir de Cloud Launcher, spécifiez
gcr.io/cloud-marketplace/google/nginx1:1.12
. - Pour déployer une image de conteneur Apache à partir de Docker Hub, spécifiez toujours le nom complet de l'image Docker, par exemple
docker.io/httpd:2.4
.
- Pour sélectionner une image de conteneur NGINX 1.12 à partir de Cloud Launcher, spécifiez
- Facultatif. Spécifiez les autres paramètres de configuration de votre choix. Pour en savoir plus sur les options de configuration des conteneurs, consultez la section Configurer des options pour exécuter votre conteneur.
- Pour terminer de configurer le conteneur et revenir au volet Système d'exploitation et stockage, cliquez sur Sélectionner.
- Spécifiez l'Image de conteneur à utiliser. Prenons les exemples suivants :
Facultatif: spécifiez d'autres options de configuration. Pour en savoir plus, consultez la section Options de configuration lors de la création d'une instance.
Pour terminer la création de l'instance, cliquez sur Créer.
Une fois l'instance créée, Compute Engine la démarre et lance le conteneur.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Exécutez la commande
gcloud compute instances create-with-container
suivante :gcloud compute instances create-with-container INSTANCE_NAME \ --container-image=CONTAINER_IMAGE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de la nouvelle instance.CONTAINER_IMAGE
: nom de l'image de conteneur
Par exemple, la commande suivante crée une instance nommée
nginx-vm
, qui lance et exécute l'image du conteneur:gcr.io/cloud-marketplace/google/nginx1:1.12
gcloud compute instances create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:1.12
Pour déployer une image de conteneur Apache à partir de Docker Hub, spécifiez toujours le nom complet de l'image Docker :
docker.io/httpd:2.4
- Il met à jour la déclaration du conteneur sur l'instance. Il stocke ensuite la déclaration de conteneur mise à jour dans les métadonnées d'instance sous la clé de métadonnées
gce-container-declaration
. - Il arrête et redémarre l'instance pour activer la configuration mise à jour, si l'instance est en cours d'exécution. Si elle est arrêtée, il met à jour la déclaration du conteneur et maintient l'arrêt de l'instance. L'instance télécharge la nouvelle image et lance le conteneur au démarrage.
Accédez à la page Instances de VM.
Cliquez sur le nom de l'instance à mettre à jour.
Sur la page "Détails de l'instance", cliquez sur Modifier.
Spécifiez une nouvelle image de conteneur et mettez à jour les options d'exécution du conteneur si nécessaire.
Pour enregistrer vos modifications, cliquez sur Enregistrer et redémarrer. Compute Engine enregistre les modifications et redémarre l'instance automatiquement pour exécuter la mise à jour. Une fois l'instance redémarrée, elle télécharge la nouvelle image et lance le conteneur avec la configuration mise à jour.
Créez un modèle d'instance basé sur une image Docker.
Créez un MIG à partir du nouveau modèle d'instance.
Accédez à la page Modèles d'instance.
Pour créer un modèle d'instance, cliquez sur Créer un modèle d'instance.
Sous Conteneur, sélectionnez Déployer l'image du conteneur.
Sous Image du conteneur, spécifiez le nom de l'image Docker et configurez les options d'exécution du conteneur. Par exemple, vous pouvez spécifier
gcr.io/cloud-marketplace/google/nginx1:15
comme image du conteneur.Cliquez sur Créer.
- Préparez une nouvelle image Docker pour le déploiement.
- Créez un modèle d'instance basé sur la nouvelle image Docker de la même manière que vous créez un modèle basé sur un conteneur.
- Mettez à jour un MIG vers le nouveau modèle d'instance à l'aide du programme de mise à jour de groupes d'instances gérés.
- Créez un modèle d'instance basé sur la version actuelle de votre image Docker de la même manière que vous créez un modèle basé sur un conteneur pour un nouveau MIG. La dernière version compatible d'une image Container-Optimized OS est utilisée par défaut.
- Mettez à jour un MIG avec le nouveau modèle d'instance à l'aide du programme de mise à jour de groupes d'instances gérés.
INSTANCE_NAME
: nom de l'instanceCONTAINER_NAME
: nom du conteneurLes journaux de l'agent de démarrage, également appelés journaux konlet. L'agent de démarrage analyse la configuration du conteneur et exécute des tâches pour le démarrer sur une instance Compute Engine.
Les journaux d'événements Docker consignent les événements du conteneur, y compris les événements de démarrage et d'arrêt.
Les journaux de votre conteneur incluent la sortie
STDOUT
des applications qui s'exécutent dans votre conteneur.Accédez à la page Instances de VM.
Sélectionnez l'instance pour laquelle vous souhaitez afficher les journaux de l'agent de démarrage.
Sous Logs (Journaux), cliquez sur Serial port 1 (console) (Port série 1 (console)) pour afficher les journaux de la console série.
- Connectez-vous à votre instance avec un conteneur à l'aide de SSH.
Exécutez la commande
sudo journalctl
pour afficher les journaux de démarrage de l'instance et du conteneur. Utilisez la commande suivante pour filtrer les journaux de l'agent de démarrage du conteneur (konlet
).sudo journalctl -u konlet*
Accédez à la page Instances de VM.
Sélectionnez l'instance pour laquelle vous souhaitez afficher les journaux de l'agent de démarrage.
Sous Logs (Journaux), cliquez sur Cloud Logging pour afficher les journaux Cloud Logging.
Saisissez un filtre de recherche pour obtenir les journaux de l'agent de démarrage.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_system" jsonPayload.SYSLOG_IDENTIFIER="konlet-startup" jsonPayload._HOSTNAME="INSTANCE_NAME"
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez obtenir des journaux
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez obtenir des journaux- Connectez-vous à votre instance avec conteneur à l'aide de SSH.
Exécutez la commande
sudo journalctl
avec le filtre suivant pour afficher les journaux des événements Docker.sudo journalctl -u docker-events-collector
Accédez à la page Instances de VM.
Sélectionnez l'instance pour laquelle vous souhaitez afficher les journaux de l'agent de démarrage.
Sous Logs (Journaux), cliquez sur Cloud Logging pour afficher les journaux Cloud Logging.
Saisissez le filtre de recherche suivant pour obtenir les journaux d'événements Docker.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_system" jsonPayload._HOSTNAME="INSTANCE_NAME" jsonPayload.SYSLOG_IDENTIFIER="docker"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez obtenir des journaux
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez obtenir des journauxAccédez à la page Instances de VM.
Sélectionnez l'instance pour laquelle vous souhaitez afficher les journaux de l'agent de démarrage.
Sous Logs (Journaux), cliquez sur Cloud Logging pour afficher les journaux Cloud Logging.
La page Cloud Logging se charge avec un filtre de recherche par défaut. Copiez la valeur de
resource.labels.instance_id
. Vous l'utiliserez plus tard.Mettez à jour le filtre de recherche pour obtenir les journaux du conteneur.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_containers" resource.labels.instance_id="INSTANCE_ID"
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_ID
: ID de l'instance pour laquelle vous souhaitez obtenir des journaux
Déterminez l'ID de l'instance pour laquelle vous souhaitez obtenir des journaux :
gcloud compute instances describe INSTANCE_NAME \ --zone ZONE \ --format="value(id)"
Remplacez l'élément suivant :
INSTANCE_NAME
: nom de l'instance pour laquelle vous souhaitez obtenir des journauxZONE
: zone où se trouve l'instance.
Exécutez la commande et le filtre suivants pour afficher les journaux de conteneur de l'instance.
gcloud logging read "resource.type=gce_instance AND \ logName=projects/PROJECT_ID/logs/cos_containers AND \ resource.labels.instance_id=INSTANCE_ID"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant l'instanceINSTANCE_ID
: ID de l'instance
Par exemple, utilisez la commande suivante pour afficher les 10 derniers journaux de conteneur dans Cloud Logging pour une instance exécutant COS 70, qui existe dans
my-project
et dont l'ID d'instance est555123456789012345
.gcloud logging read "resource.type=gce_instance AND \ logName=projects/my-project/logs/cos_containers AND \ resource.labels.instance_id=555123456789012345" \ --limit 10
- Spécifier une stratégie de redémarrage du conteneur.
- Remplacer la commande
ENTRYPOINT
du conteneur (commande par défaut à exécuter au démarrage du conteneur). - Transmettre des arguments à la commande
ENTRYPOINT
du conteneur. - Exécuter un conteneur en mode privilégié.
- Installer un répertoire hôte ou
tmpfs
en tant que volume de données dans le conteneur. - Définir des variables d'environnement.
- Allouer un tampon pour
STDIN
dans l'environnement d'exécution du conteneur. - Allouer un pseudo-TTY.
- Apprenez-en plus sur la configuration des options pour exécuter votre conteneur.
- Apprenez-en plus sur les groupes d'instances gérés.
- Apprenez-en plus sur Container-Optimized OS.
Choisir de déployer des conteneurs sur des instances et des MIG
Déployer des conteneurs sur Compute Engine vous permet de simplifier le déploiement des applications tout en contrôlant votre infrastructure d'instances.
Vous pouvez également envisager de déployer les conteneurs dans Google Kubernetes Engine pour :
L'exécution de chaque microservice sur une instance distincte sur Compute Engine peut entraîner une surcharge du système d'exploitation et représenter un coût important. Google Kubernetes Engine vous permet de déployer plusieurs conteneurs et groupes de conteneurs pour chaque instance, ce qui permet d'allouer plus efficacement les ressources de l'instance hôte à des microservices tout en minimisant l'encombrement.
Fonctionnement du déploiement des conteneurs sur Compute Engine
Les méthodes courantes de déploiement de logiciels sur une instance Compute Engine sont les suivantes:
Les deux méthodes de la liste précédente combinent les tâches de configuration de l'application et de configuration de l'environnement du système d'exploitation. En tant que développeur, vous devez suivre et résoudre avec soin toutes les dépendances d'exécution. Par exemple, si deux applications exécutées sur une VM utilisent des versions différentes de la même bibliothèque, vous devez installer les deux versions et pointer vers elles via des variables système.
Vous pouvez également déployer un logiciel dans un conteneur sur une instance ou sur un MIG. Un conteneur inclut à la fois le logiciel d'application et les bibliothèques requises. Il est isolé des applications et des bibliothèques du système d'exploitation. Vous pouvez facilement déplacer un conteneur d'un environnement de déploiement à l'autre sans avoir à vous préoccuper des conflits de versions de bibliothèque entre le conteneur et son système d'exploitation.
Le processus suivant décrit comment déployer un conteneur sur Compute Engine :
Une fois que vous avez effectué une requête de création d'instance, Compute Engine exécute les tâches suivantes:
Limites
Préparer un conteneur pour le déploiement
Pour rendre votre image de conteneur accessible à Compute Engine, choisissez l'une des approches suivantes :
Déployer un conteneur sur une nouvelle instance
Vous pouvez déployer un conteneur sur une nouvelle instance de VM à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
L'exemple suivant déploie un conteneur à partir d'une image Docker Nginx fournie par Google,
https://gcr.io/cloud-marketplace/google/nginx1:latest
, vers une instance de VM. Pour utiliser une autre image Docker, remplacez l'image Docker Nginx par celle de votre choix dans les étapes suivantes.Accéder à la page Créer une instance
Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer. La page Créer une instance s'affiche et affiche le volet Configuration de la machine.
gcloud
Mettre à jour un conteneur sur une instance
Vous pouvez mettre à jour une image Docker et des options de configuration pour exécuter le conteneur sur une instance à l'aide de la console Google Cloud ou de Google Cloud CLI.
Lorsque vous mettez à jour une VM qui exécute un conteneur, Compute Engine effectue deux étapes:
Console
gcloud
Mettez à jour la déclaration du conteneur à l'aide de la commande
gcloud compute instances update-container
. Exemple :gcloud compute instances update-container nginx-vm \ --container-image gcr.io/cloud-marketplace/google/nginx1:latest
Cette commande définit l'image du conteneur sur
gcr.io/cloud-marketplace/google/nginx1:latest
et redémarre l'instance pour activer les modifications. Vous pouvez également mettre à jour les propriétés décrites dans la page Configurer des options pour exécuter votre conteneur en ajoutant des indicateurs correspondants.Une fois l'instance redémarrée, elle télécharge la nouvelle image de conteneur et lance le conteneur avec la nouvelle configuration.
Déployer un conteneur sur un groupe d'instances géré
Procédez comme suit pour déployer un conteneur sur un nouveau groupe d'instances géré (MIG) à l'aide de la console Google Cloud ou de la Google Cloud CLI:
Console
L'exemple suivant crée un modèle d'instance qui déploie un conteneur à partir d'une image Docker Nginx (
gcr.io/cloud-marketplace/google/nginx1:15
) fournie par Google vers un MIG. Pour utiliser d'autres images Docker, remplacezgcr.io/cloud-marketplace/google/nginx1:15
dans l'exemple suivant par l'image que vous souhaitez utiliser.Ensuite, créez un MIG à l'aide du nouveau modèle d'instance.
gcloud
Créez un modèle d'instance pour exécuter des images Docker à l'aide de la commande
gcloud compute instance-templates create-with-container
:gcloud compute instance-templates create-with-container TEMPLATE_NAME \ --container-image DOCKER_IMAGE
Vous pouvez également configurer des options pour exécuter votre conteneur.
Par exemple, la commande suivante crée un modèle d'instance nommé
nginx-template
, qui inclut des informations sur l'image Docker. Une instance créée à partir de ce modèle lance et exécute l'image Dockergcr.io/cloud-marketplace/google/nginx1:15
au démarrage de l'instance.gcloud compute instance-templates create-with-container nginx-template \ --container-image gcr.io/cloud-marketplace/google/nginx1:15
Ensuite, créez un MIG à l'aide du nouveau modèle d'instance.
Maintenant que vous avez un modèle d'instance, vous pouvez créer un MIG qui utilise ce modèle. Par exemple, pour créer un MIG à l'aide de gcloud CLI et du modèle
nginx-template
que vous venez de créer, exécutez la commande suivante :gcloud compute instance-groups managed create example-group \ --base-instance-name nginx-vm \ --size 3 \ --template nginx-template
Mettre à jour un groupe d'instances géré exécutant un conteneur
Vous pouvez mettre à jour un groupe d'instances géré (MIG) pour déployer une nouvelle version d'une image Docker ou une nouvelle version de l'image Container-Optimized OS.
Mettre à jour un MIG vers une nouvelle version d'une image de conteneur
Vous pouvez déployer une nouvelle version d'une image Docker sur un groupe d'instances géré à l'aide du programme de mise à jour de groupes d'instances gérés, en trois étapes :
Mettre à jour un groupe d'instances géré vers une nouvelle version de l'image Container-Optimized OS
Google met régulièrement à jour les images Container-Optimized OS. Vous souhaiterez peut-être appliquer ces mises à jour à vos MIG conteneurisés sans modifier votre image Docker. Vous pouvez mettre à jour un MIG vers une nouvelle version d'une image Container-Optimized OS à l'aide de Google Cloud Console ou de Google Cloud CLI en deux étapes:
Se connecter à un conteneur à l'aide de SSH
Vous pouvez vous connecter à un conteneur sur une instance à l'aide de SSH. Exécutez la commande
gcloud compute ssh
avec l'option--container
à l'aide de gcloud CLI :gcloud compute ssh INSTANCE_NAME --container CONTAINER_NAME
Remplacez les éléments suivants :
En savoir plus sur la commande
gcloud compute ssh
et ses arguments.Surveiller les conteneurs sur Compute Engine
Pour surveiller vos instances exécutant une image Container-Optimized OS, utilisez l'agent Node Problem Detector (détecteur de problèmes de nœuds), qui communique avec Cloud Monitoring et signale les métriques liées à l'état. L'agent est intégré aux images Container-Optimized OS à partir du jalon 77.
Pour activer l'agent, dans les conteneurs utilisant des images avec le jalon 88 ou version ultérieure, modifiez la section des métadonnées personnalisées et définissez
google-monitoring-enabled
surtrue
.Pour connaître d'autres moyens d'activer Node Problem Detector, consultez la page Activer la surveillance de l'état.
L'agent Node Problem Detector accepte les métriques de la liste de métriques commençant par
guest/
.Pour interagir avec les métriques collectées par l'agent, accédez à l'explorateur de métriques.
Afficher les journaux
Vous pouvez afficher trois types de journaux liés aux conteneurs :
Afficher les journaux de l'agent de démarrage
Les journaux de l'agent de démarrage sont disponibles dans la console série via le service système
journald
inclus dans l'image de l'OS et depuis Cloud Logging.Afficher les journaux de l'agent de démarrage dans la console série
Console
gcloud
Utilisez la commande
get-serial-port-output
pour afficher les journaux sur le port série de l'instance.gcloud compute instances get-serial-port-output INSTANCE_NAME
Remplacez
INSTANCE_NAME
par le nom de l'instance.Par exemple, exécutez la commande suivante pour afficher les données en sortie du port série d'une instance nommée
nginx-vm
:gcloud compute instances get-serial-port-output nginx-vm
Afficher les journaux de l'agent de démarrage dans
journald
Afficher les journaux de l'agent de démarrage dans Logging
Console
gcloud
Utilisez la commande
gcloud logging read
avec un filtre approprié pour afficher les journaux de l'agent de démarrage du conteneur.gcloud logging read "resource.type=gce_instance AND \ logName=projects/PROJECT_ID/logs/cos_system AND \ jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \ jsonPayload._HOSTNAME=INSTANCE_NAME"
Remplacez l'élément suivant :
Par exemple, utilisez la commande suivante pour afficher les 10 derniers journaux de l'agent de démarrage dans Logging pour une instance nommée
nginx-vm
qui exécute COS 70 et qui existe dansmy-project
.gcloud logging read "resource.type=gce_instance AND \ logName=projects/my-project/logs/cos_system AND \ jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \ jsonPayload._HOSTNAME=nginx-vm" \ --limit 10
Afficher les journaux d'événements Docker
Vous pouvez consulter les journaux des événements Docker dans
journald
et dans Cloud Logging.Afficher les journaux des événements Docker dans
journald
Afficher les journaux des événements Docker dans Logging
Console
gcloud
Utilisez la commande
gcloud logging read
avec un filtre approprié pour afficher les journaux des événements Docker.gcloud logging read "resource.type=gce_instance AND \ logName=projects/PROJECT_ID/logs/cos_system AND \ jsonPayload._HOSTNAME=INSTANCE_NAME AND \ jsonPayload.SYSLOG_IDENTIFIER=docker"
Remplacez les éléments suivants :
Par exemple, utilisez la commande suivante pour afficher les 10 derniers journaux d'événements Docker dans Logging pour une instance nommée
nginx-vm
qui exécute COS 70 et qui existe dansmy-project
.gcloud logging read "resource.type=gce_instance AND \ logName=projects/my-project/logs/cos_system AND \ jsonPayload._HOSTNAME=nginx-vm AND \ jsonPayload.SYSLOG_IDENTIFIER=docker" \ --limit 10
Afficher les journaux d'un conteneur
Console
gcloud
Utilisez la commande
gcloud logging read
pour afficher les journaux du conteneur.Spécifier des images ou des familles d'images optimisées pour les conteneurs
Les instances ou modèles d'instances conteneurisés sont créés pour utiliser par défaut la dernière image optimisée pour les conteneurs compatible. L'image appartient au projet
cos-cloud
.Vous pouvez remplacer cette valeur par défaut par une autre image du projet
cos-cloud
. Pour plus d'informations sur les familles d'images disponibles et leurs attributs, consultez la section Choisir la bonne version de Container-Optimized OS.Par exemple, une fois que vous avez identifié l'image que vous souhaitez utiliser, dans gcloud CLI, spécifiez l'option
--image
pour remplacer l'image optimisée pour les conteneurs par défaut, ou l'option--image-family
pour sélectionner la dernière image de la famille indiquée au moment de la création de l'instance.L'exemple suivant crée une instance conteneurisée qui utilise la dernière image de la famille d'images
cos-dev
:gcloud compute instances create-with-container nginx-vm \ --image-family cos-dev \ --image-project cos-cloud \ --container-image gcr.io/cloud-marketplace/google/nginx1:1.15
Configurer les règles de pare-feu
Les instances conteneurisées lancent des conteneurs dont le réseau est défini sur le mode hôte. Un conteneur partage la pile réseau de l'hôte, et toutes les interfaces de l'hôte sont disponibles pour le conteneur.
Par défaut,les Google Cloud règles de pare-feu bloquent toutes les connexions entrantes vers une instance et autorisent toutes les connexions sortantes depuis une instance.
Créez des règles de pare-feu pour autoriser les connexions entrantes à votre instance et donc au conteneur.
Configurer des options pour exécuter un conteneur
Vous pouvez configurer les options suivantes pour exécuter votre conteneur :
En savoir plus sur la configuration des options pour exécuter votre conteneur
Étapes suivantes
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/01/31 (UTC).
-