Puoi configurare un'istanza Compute Engine o un modello di istanza per eseguire il deployment e l'avvio di un contenuto Docker. Compute Engine fornisce un'immagine aggiornata di Container-Optimized OS (COS) con Docker installato e avvia il container all'avvio dell'istanza.
Prima di iniziare
- Se non hai familiarità con i container, consulta Cosa sono i container e quali vantaggi offrono.
- Se non hai dimestichezza con Docker, leggi la documentazione di Docker.
- Scopri di più su Container-Optimized OS.
- Scopri di più sui gruppi di istanze gestite (MIG).
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
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.
- Gestisci le istanze in cui sono in esecuzione i container nello stesso modo in cui gestisci qualsiasi altra istanza durante la configurazione e la gestione dell'infrastruttura Compute Engine.
- Utilizza processi e strumenti familiari come Google Cloud CLI o l'API Compute Engine per gestire le istanze con i contenitori.
- Crea servizi scalabili utilizzando gruppi di istanze gestite (MIG) che eseguono contenitori, che offrono funzionalità come scalabilità automatica, riparazione automatica, aggiornamenti in sequenza, deployment multizona e bilanciamento del carico.
- Esegui un numero elevato di microservizi
- Avere un tempo di avvio del contenitore più rapido
- Sfrutta l'orchestrazione automatica di Kubernetes, inclusi upgrade automatici, riparazione automatica dei nodi e scalabilità automatica
- Esegui il deployment del software all'avvio dell'istanza utilizzando un script di avvio o cloud-init.
- Creazione di un'immagine del disco di avvio personalizzato con il software preinstallato.
- Raggruppa l'app e le librerie richieste in un'immagine Docker e pubblica l'immagine in Artifact Registry o in un registro di terze parti come Docker Hub.
- Specifica un nome dell'immagine Docker e la configurazione
docker run
quando crei un'istanza o un modello di istanza per un MIG. - Compute Engine crea un'istanza VM che utilizza un'immagine Container-Optimized OS fornita da Google. Questa immagine include un runtime Docker e software aggiuntivo responsabile dell'avvio del container.
- Compute Engine archivia le impostazioni del contenitore nei metadati dell'istanza sotto la chiave dei metadati
gce-container-declaration
. - All'avvio della VM, l'immagine del sistema operativo ottimizzata per i container utilizza la configurazione del comando
docker run
archiviata nei metadati dell'istanza, estrae l'immagine del container dal repository e avvia il container. - Puoi eseguire il deployment di un solo contenitore per ogni istanza. Valuta la possibilità di utilizzare Google Kubernetes Engine se devi eseguire il deployment di più contenuti per istanza.
Puoi eseguire il deployment dei container solo da un repository pubblico o da un repository Artifact Registry o Container Registry privato a cui puoi accedere. Gli altri repository privati non sono supportati.
Per informazioni sulle autorizzazioni dei registry privati, consulta la documentazione sul controllo dell'accesso per Artifact Registry o Container Registry.
Non puoi mappare le porte di un'istanza alle porte del contenitore (opzione
-p
di Docker). Per consentire l'accesso ai contenitori, consulta Pubblicazione delle porte dei contenitori.Con questo metodo di deployment puoi utilizzare solo immagini del sistema operativo ottimizzato per i container.
Puoi utilizzare questa funzionalità solo tramite la console Google Cloud o Google Cloud CLI, non tramite l'API.
- Carica l'immagine Docker in Artifact Registry.
- Utilizza qualsiasi immagine container disponibile pubblicamente da Docker Hub o da altri registry.
Nel riquadro Configurazione macchina, vai a Nome e specifica un nome per l'istanza. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.
Nel menu di navigazione, fai clic su Sistema operativo e spazio di archiviazione. Viene visualizzato il riquadro Sistema operativo e archiviazione.
Vai alla sezione Contenitore e fai clic su Esegui il deployment del contenitore. Nel riquadro Configura contenitore visualizzato, segui questi passaggi:
- Specifica l'immagine del container da utilizzare. Considera gli esempi seguenti:
- Per selezionare un'immagine container NGINX 1.12 da Cloud Launcher,
specifica
gcr.io/cloud-marketplace/google/nginx1:1.12
. - Per eseguire il deployment di un'immagine container Apache da Docker Hub, specifica sempre il nome completo dell'immagine Docker, ad esempio
docker.io/httpd:2.4
.
- Per selezionare un'immagine container NGINX 1.12 da Cloud Launcher,
specifica
- Facoltativo. Specifica eventuali altri parametri di configurazione a tua scelta. Per ulteriori informazioni sulle opzioni di configurazione del contenitore, consulta Configurare le opzioni per l'esecuzione del contenitore.
- Per completare la configurazione del contenitore e tornare al riquadro Sistema operativo e spazio di archiviazione, fai clic su Seleziona.
- Specifica l'immagine del container da utilizzare. Considera gli esempi seguenti:
(Facoltativo) Specifica altre opzioni di configurazione. Per ulteriori informazioni, consulta Opzioni di configurazione durante la creazione dell'istanza.
Per completare la creazione dell'istanza, fai clic su Crea.
Dopo aver creato l'istanza, Compute Engine la avvia e lancia il contenitore.
-
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.
Esegui il comando
gcloud compute instances create-with-container
:gcloud compute instances create-with-container INSTANCE_NAME \ --container-image=CONTAINER_IMAGE
Sostituisci quanto segue:
INSTANCE_NAME
: nome della nuova istanza.CONTAINER_IMAGE
: il nome dell'immagine del contenitore.
Ad esempio, il seguente comando crea un'istanza denominata
nginx-vm
, che avvia ed esegue l'immagine del contenitore: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
Per eseguire il deployment di un'immagine container Apache da Docker Hub, specifica sempre il nome completo dell'immagine Docker:
docker.io/httpd:2.4
.- Aggiorna la dichiarazione del contenitore nell'istanza. Compute Engine
memorizza la dichiarazione del contenitore aggiornata nei
metadati dell'istanza sotto la
chiave dei metadati
gce-container-declaration
. - Interrompe e riavvia l'istanza per applicare la configurazione aggiornata, se l'istanza è in esecuzione. Se l'istanza è interrotta, aggiorna la dichiarazione del contenitore e mantiene l'istanza interrotta. L'istanza scarica la nuova immagine e avvia il container all'avvio.
Vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza da aggiornare.
Nella pagina dei dettagli dell'istanza, fai clic su Modifica.
Specifica la nuova immagine del contenitore e aggiorna le opzioni per l'esecuzione del contenitore in base alle esigenze.
Per salvare le modifiche, fai clic su Salva e riavvia. Compute Engine salva le modifiche e riavvia automaticamente l'istanza per eseguire l'update. Dopo il riavvio dell'istanza, viene scaricata la nuova immagine e avviato il contenitore con la configurazione aggiornata.
Crea un modello di istanza basato su un'immagine Docker.
Crea un gruppo di istanze gestite dal nuovo modello di istanza.
Vai alla pagina Modelli di istanza.
Per creare un modello di istanza, fai clic su Crea modello istanza.
In Container, seleziona Esegui il deployment dell'immagine container.
In Immagine contenitore, specifica il nome dell'immagine Docker e configura le opzioni per l'esecuzione del contenitore. Ad esempio, puoi specificare
gcr.io/cloud-marketplace/google/nginx1:15
per l'immagine del contenitore.Fai clic su Crea.
- Prepara una nuova immagine Docker per il deployment.
- Crea un modello di istanza basato sulla nuova immagine Docker nello stesso modo in cui crei un modello basato su container.
- Aggiorna un gruppo di istanze gestite al nuovo modello di istanza utilizzando Managed Instance Group Updater.
- Crea un modello di istanza basato sulla versione corrente dell'immagine Docker, nello stesso modo in cui crei un modello basato su container per un nuovo gruppo di istanze gestite. Per impostazione predefinita viene utilizzata la versione più recente supportata di un'immagine Container-Optimized OS.
- Aggiorna un gruppo di istanze gestite con il nuovo modello di istanza utilizzando Managed Instance Group Updater.
INSTANCE_NAME
: il nome dell'istanzaCONTAINER_NAME
: il nome del contenitoreLog dell'agente di avvio, noti anche come log konlet. L'agente di avvio analizza la configurazione del container ed esegue le attività per avviarlo su un'istanza Compute Engine.
I log degli eventi Docker registrano gli eventi dei container, inclusi gli eventi di avvio e di interruzione dei container.
I log del tuo contenitore includono i
STDOUT
delle app in esecuzione nel contenitore.Vai alla pagina Istanze VM.
Seleziona l'istanza per cui vuoi visualizzare i log dell'agente di avvio.
In Log, fai clic su Porta seriale 1 (console) per visualizzare i log della console seriale.
- Connettiti all'istanza con un contenitore utilizzando SSH.
Esegui il comando
sudo journalctl
per visualizzare i log di avvio dell'istanza e del container. Utilizza il seguente comando per filtrare i log dell'agente di avvio del contenitore (konlet
).sudo journalctl -u konlet*
Vai alla pagina Istanze VM.
Seleziona l'istanza per cui vuoi visualizzare i log dell'agente di avvio.
In Log, fai clic su Cloud Logging per visualizzare i log di Cloud Logging.
Inserisci un filtro di ricerca per recuperare i log dell'agente di avvio.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_system" jsonPayload.SYSLOG_IDENTIFIER="konlet-startup" jsonPayload._HOSTNAME="INSTANCE_NAME"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto che contiene l'istanzaINSTANCE_NAME
: il nome dell'istanza per cui vuoi recuperare i log
PROJECT_ID
: l'ID progetto che contiene l'istanzaINSTANCE_NAME
: il nome dell'istanza per cui vuoi recuperare i log- Connettiti all'istanza con un contenitore tramite SSH.
Esegui il comando
sudo journalctl
con il seguente filtro per visualizzare i log degli eventi Docker.sudo journalctl -u docker-events-collector
Vai alla pagina Istanze VM.
Seleziona l'istanza per cui vuoi visualizzare i log dell'agente di avvio.
In Log, fai clic su Cloud Logging per visualizzare i log di Cloud Logging.
Inserisci il seguente filtro di ricerca per recuperare i log eventi di Docker.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_system" jsonPayload._HOSTNAME="INSTANCE_NAME" jsonPayload.SYSLOG_IDENTIFIER="docker"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto che contiene l'istanzaINSTANCE_NAME
: il nome dell'istanza per cui vuoi recuperare i log
PROJECT_ID
: l'ID progetto che contiene l'istanzaINSTANCE_NAME
: il nome dell'istanza per cui vuoi recuperare i logVai alla pagina Istanze VM.
Seleziona l'istanza per cui vuoi visualizzare i log dell'agente di avvio.
In Log, fai clic su Cloud Logging per visualizzare i log di Cloud Logging.
La pagina Cloud Logging viene caricata con un filtro di ricerca predefinito. Copia il valore per
resource.labels.instance_id
. Lo utilizzerai in un secondo momento.Aggiorna il filtro di ricerca per recuperare i log del contenitore.
resource.type="gce_instance" logName="projects/PROJECT_ID/logs/cos_containers" resource.labels.instance_id="INSTANCE_ID"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto che contiene l'istanzaINSTANCE_ID
: l'ID dell'istanza per cui vuoi recuperare i log
Determina l'ID dell'istanza per cui vuoi recuperare i log:
gcloud compute instances describe INSTANCE_NAME \ --zone ZONE \ --format="value(id)"
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza per cui vuoi recuperare i logZONE
: la zona in cui si trova l'istanza
Utilizza il comando e il filtro seguenti per visualizzare i log del contenitore dell'istanza.
gcloud logging read "resource.type=gce_instance AND \ logName=projects/PROJECT_ID/logs/cos_containers AND \ resource.labels.instance_id=INSTANCE_ID"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto che contiene l'istanza.INSTANCE_ID
: l'ID dell'istanza.
Ad esempio, utilizza il seguente comando per visualizzare gli ultimi 10 log dei container in Cloud Logging per un'istanza che esegue COS 70, che esiste in
my-project
e che ha un ID istanza555123456789012345
.gcloud logging read "resource.type=gce_instance AND \ logName=projects/my-project/logs/cos_containers AND \ resource.labels.instance_id=555123456789012345" \ --limit 10
- Specifica un criterio di riavvio del contenitore.
- Sostituisci il contenitore
ENTRYPOINT
(comando predefinito da eseguire all'avvio del contenitore). - Passa gli argomenti al comando
ENTRYPOINT
del contenitore. - Esegui un container in una modalità con privilegi.
- Monta una directory dell'host o
tmpfs
come volume di dati all'interno del contenitore. - Imposta le variabili di ambiente.
- Alloca un buffer per
STDIN
nel runtime del container. - Alloca uno pseudo-TTY.
- Scopri di più sulla configurazione delle opzioni per l'esecuzione del container.
- Scopri di più sui gruppi di istanze gestite.
- Scopri di più su Container-Optimized OS.
Scelta di eseguire il deployment dei container su istanze e MIG
Se esegui il deployment dei container su Compute Engine, puoi semplificare il deployment delle app e controllare al contempo l'infrastruttura delle istanze.
In alternativa, puoi valutare la possibilità di eseguire il deployment in Google Kubernetes Engine per:
L'esecuzione di ogni microservizio su un'istanza separata su Compute Engine potrebbe fare in modo che il sovraccarico del sistema operativo rappresenti una parte significativa del costo. Google Kubernetes Engine ti consente di eseguire il deployment di più container e gruppi di container per ogni istanza, in modo da allocare in modo più efficiente le risorse dell'istanza host ai microservizi con un'impronta più ridotta.
Come funziona il deployment dei container su Compute Engine
I metodi comuni per eseguire il deployment di software su un'istanza Compute Engine includono:
Entrambi i metodi nell'elenco precedente combinano le attività di configurazione dell'app e dell'ambiente del sistema operativo. In qualità di sviluppatore, devi monitorare e risolvere attentamente eventuali dipendenze di runtime. Ad esempio, se due app eseguite su una VM utilizzano versioni diverse della stessa libreria, devi installare entrambe le versioni e fare in modo che puntino a queste tramite le variabili di sistema.
Un'istanza con app di cui è stato eseguito il deployment direttamente nel sistema operativo In alternativa, puoi eseguire il deployment del software in un contenitore su un'istanza o su un MIG. Un container contiene sia il software dell'applicazione sia le librerie richieste ed è isolato dalle app e dalle librerie del sistema operativo. Un contenitore può essere spostato da un ambiente di deployment all'altro senza dover gestire versioni di librerie in conflitto nel contenitore e nel relativo sistema operativo.
Un'istanza con app di cui è stato eseguito il deployment in un container La procedura seguente descrive come eseguire il deployment di un contenitore su Compute Engine:
Compute Engine esegue le seguenti attività dopo che hai effettuato una richiesta per creare un'istanza:
Passaggi per creare un'istanza o un gruppo di istanze gestite che eseguono un contenitore Limitazioni
Preparazione di un container per il deployment
Scegli uno dei seguenti approcci per rendere accessibile l'immagine del contenitore a Compute Engine:
Eseguire il deployment di un container su una nuova istanza
Puoi eseguire il deployment di un container su una nuova istanza VM utilizzando la console Google Cloud o Google Cloud CLI.
Console
L'esempio seguente esegue il deployment di un container da un'immagine Docker Nginx fornita da Google,
https://gcr.io/cloud-marketplace/google/nginx1:latest
, a un'istanza VM. Per utilizzare un'immagine Docker diversa, sostituisci l'immagine Docker di Nginx con quella che preferisci nei passaggi che seguono.Se richiesto, seleziona il progetto e fai clic su Continua. Viene visualizzata la pagina Crea un'istanza, che mostra il riquadro Configurazione macchina.
gcloud
Aggiornamento di un contenitore su un'istanza
Puoi aggiornare un'immagine Docker e le opzioni di configurazione per eseguire il container su un'istanza utilizzando la console Google Cloud o Google Cloud CLI.
Quando aggiorni un container in esecuzione, Compute Engine esegue due passaggi:
Console
gcloud
Aggiorna la dichiarazione del contenitore utilizzando il comando
gcloud compute instances update-container
. Ad esempio:gcloud compute instances update-container nginx-vm \ --container-image gcr.io/cloud-marketplace/google/nginx1:latest
Questo comando imposta l'immagine del contenitore su
gcr.io/cloud-marketplace/google/nginx1:latest
e riavvia l'istanza per applicare le modifiche. Puoi anche aggiornare qualsiasi proprietà descritta in Configurazione delle opzioni per l'esecuzione del contenitore aggiungendo i flag corrispondenti.Dopo il riavvio, l'istanza scarica la nuova immagine del container e avvia il container con la nuova configurazione.
Deployment di un container in un gruppo di istanze gestite
Puoi eseguire il deployment di un contenitore in un nuovo gruppo di istanze gestite (MIG) utilizzando la console Google Cloud o Google Cloud CLI seguendo questi passaggi:
Console
L'esempio seguente crea un modello di istanza che esegue il deployment di un container da un'immagine Docker Nginx (
gcr.io/cloud-marketplace/google/nginx1:15
) fornita da Google a un gruppo di istanze gestite. Per utilizzare altre immagini Docker, sostituiscigcr.io/cloud-marketplace/google/nginx1:15
nell'esempio seguente con l'immagine che vuoi utilizzare.Crea un gruppo di istanze gestite che utilizza il nuovo modello di istanza.
gcloud
Crea un modello di istanza per l'esecuzione di immagini Docker utilizzando il comando
gcloud compute instance-templates create-with-container
:gcloud compute instance-templates create-with-container TEMPLATE_NAME \ --container-image DOCKER_IMAGE
Puoi anche configurare opzioni per l'esecuzione del container.
Ad esempio, il seguente comando crea un nuovo modello di istanza con nome
nginx-template
, che include informazioni sull'immagine Docker. Un'istanza creata da questo modello avvia ed esegue l'immagine Dockergcr.io/cloud-marketplace/google/nginx1:15
all'avvio.gcloud compute instance-templates create-with-container nginx-template \ --container-image gcr.io/cloud-marketplace/google/nginx1:15
Crea un gruppo di istanze gestite utilizzando il nuovo modello di istanza.
Ora che hai un modello di istanza, puoi creare un gruppo di istanze gestite che lo utilizza. Ad esempio, per creare un MIG utilizzando l'interfaccia a riga di comando gcloud e il
nginx-template
appena creato, esegui il seguente comando:gcloud compute instance-groups managed create example-group \ --base-instance-name nginx-vm \ --size 3 \ --template nginx-template
Aggiornamento di un gruppo di istanze gestite che esegue un contenitore
Puoi aggiornare un gruppo di istanze gestite (MIG) per eseguire il deployment di una nuova versione di un'immagine Docker o di un'immagine del sistema operativo ottimizzato per i container.
Aggiornamento di un MIG a una nuova versione di un'immagine del container
Puoi eseguire il deployment di una nuova versione di un'immagine Docker in un gruppo di istanze gestite utilizzando lo strumento di aggiornamento dei gruppi di istanze gestite in tre passaggi:
Aggiornamento di un gruppo di istanze gestite a una nuova versione dell'immagine del sistema operativo ottimizzato per i container
Google aggiorna le immagini Container-Optimized OS regolarmente, e ti consigliamo di applicare questi aggiornamenti ai tuoi MIG containerizzati senza modificare l'immagine Docker. Puoi aggiornare un MIG a una nuova versione di un'immagine del sistema operativo ottimizzata per i container utilizzando la console Google Cloud o Google Cloud CLI in due passaggi:
Connessione a un contenitore tramite SSH
Puoi connetterti a un contenitore su un'istanza utilizzando SSH. Utilizza l'interfaccia a riga di comando gcloud per eseguire
gcloud compute ssh
con il flag--container
:gcloud compute ssh INSTANCE_NAME --container CONTAINER_NAME
Sostituisci quanto segue:
Scopri di più sul comando
gcloud compute ssh
e sui relativi argomenti.Monitoraggio dei container su Compute Engine
Per monitorare le istanze che eseguono un'immagine del sistema operativo ottimizzata per i container, utilizza l'agente Node Problem Detector, che comunica con Cloud Monitoring e genera report sulle metriche relative all'integrità. L'agente è integrato nelle immagini Container-Optimized OS a partire da Milestone 77.
Per attivare l'agente, nei container che utilizzano immagini con Milestone 88 o versioni successive, modifica la sezione dei metadati personalizzati e imposta
google-monitoring-enabled
sutrue
.Per scoprire altri modi per attivare il rilevatore problemi nodo, consulta Attivare il monitoraggio dello stato di integrità.
L'agente Node Problem Detector supporta le metriche nell'elenco delle metriche che iniziano con
guest/
.Per interagire con le metriche raccolte dall'agente, vai a Metrics Explorer.
Visualizzazione dei log
Puoi visualizzare tre tipi di log relativi ai container:
Visualizzazione dei log dell'agente di avvio
I log dell'agente di avvio sono disponibili nella console seriale, tramite il servizio di sistema
journald
incluso nell'immagine del sistema operativo e tramite Cloud Logging.Visualizzazione dei log dell'agente di avvio nella console seriale
Console
gcloud
Utilizza il comando
get-serial-port-output
per visualizzare i log sulla porta seriale dell'istanza.gcloud compute instances get-serial-port-output INSTANCE_NAME
Sostituisci
INSTANCE_NAME
con il nome dell'istanza.Ad esempio, utilizza il seguente comando per visualizzare l'output della porta seriale di un'istanza denominata
nginx-vm
:gcloud compute instances get-serial-port-output nginx-vm
Visualizzazione dei log dell'agente di avvio in
journald
Visualizzazione dei log dell'agente di avvio in Logging
Console
gcloud
Utilizza il comando
gcloud logging read
con un filtro appropriato per visualizzare i log dell'agente di avvio del contenitore.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"
Sostituisci quanto segue:
Ad esempio, utilizza il seguente comando per visualizzare gli ultimi 10 log dell'agente di avvio in Log per un'istanza denominata
nginx-vm
che esegue COS 70 ed esiste inmy-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
Visualizzazione dei log degli eventi Docker
Puoi visualizzare i log eventi di Docker in
journald
e in Cloud Logging.Visualizzazione dei log eventi Docker in
journald
Visualizzazione dei log eventi Docker in Logging
Console
gcloud
Utilizza il comando
gcloud logging read
con un filtro appropriato per visualizzare i log eventi di 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"
Sostituisci quanto segue:
Ad esempio, utilizza il seguente comando per visualizzare gli ultimi 10 log eventi Docker in Logging per un'istanza denominata
nginx-vm
che è in esecuzione su COS 70 ed esiste inmy-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
Visualizzazione dei log dei container
Console
gcloud
Utilizza il comando
gcloud logging read
per visualizzare i log dei container.Specifica di immagini o famiglie di immagini ottimizzate per i container
Per impostazione predefinita, le istanze o i modelli di istanze containerizzate vengono creati per utilizzare l'immagine ottimizzata per i container supportata più recente. L'immagine appartiene al progetto
cos-cloud
.Puoi sostituire questo valore predefinito con un'altra immagine del progetto
cos-cloud
. Per informazioni sulle famiglie di immagini disponibili e sui relativi attributi, consulta Scegliere la versione corretta di Container-Optimized OS.Ad esempio, dopo aver stabilito quale immagine vuoi utilizzare, nella CLI di gcloud fornisci il flag
--image
per eseguire l'override dell'immagine ottimizzata per i container predefinita o il flag--image-family
per scegliere l'immagine più recente dalla famiglia specificata al momento della creazione dell'istanza.L'esempio seguente crea un'istanza containerizzata che utilizza l'immagine più recente della famiglia di immagini
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
Configurazione delle regole del firewall
Le istanze containerizzate avviano i container la cui rete è impostata sulla modalità host. Un contenutore condivide lo stack di rete dell'host e tutte le interfacce dell'host sono disponibile per il contenitore.
Per impostazione predefinita, Google Cloud le regole del firewall bloccano tutte le connessioni in entrata a un' Google Cloud istanza e consentono tutte le connessioni in uscita da un'istanza.
Crea regole firewall per consentire le connessioni in entrata all'istanza e quindi al contenitore.
Configurazione delle opzioni per l'esecuzione di un container
Per eseguire il container, puoi configurare le seguenti opzioni:
Scopri di più sulla configurazione delle opzioni per l'esecuzione del container.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-02-14 UTC.
-