Durante lo sviluppo, puoi eseguire e testare la tua immagine container localmente, prima del deployment. Puoi utilizzare Cloud Code o Docker installato localmente per eseguire e testare localmente, inclusa l'esecuzione locale con accesso ai servizi Google Cloud .
Esecuzione in un emulatore Knative serving
Il plug-in Cloud Code per VS Code e gli IDE JetBrains ti consente di eseguire ed eseguire il debug localmente dell'immagine container in un emulatore Knative Serving all'interno dell'IDE. L'emulatore ti consente di configurare un ambiente rappresentativo del tuo servizio in esecuzione su Knative serving.
Puoi configurare proprietà come l'allocazione di CPU e memoria, specificare variabili di ambiente e impostare connessioni al database Cloud SQL.
- Installa Cloud Code per VS Code o un IDE JetBrains.
- Segui le istruzioni per lo sviluppo e il debug locali all'interno dell'IDE.
Esecuzione in locale utilizzando Docker
Per testare l'immagine container localmente utilizzando Docker:
Utilizza il comando Docker:
PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
gcr.io/cloudrun/hello
.La variabile di ambiente
PORT
specifica la porta che la tua applicazione utilizzerà per ascoltare le richieste HTTP o HTTPS. Questo è un requisito del contratto runtime container. In questo esempio, utilizziamo la porta 8080.Apri http://localhost:9090 nel browser.
Se non hai mai lavorato con i container, ti consigliamo di consultare la guida Guida introduttiva a Docker. Per saperne di più sui comandi Docker, consulta la documentazione di Docker.
Esecuzione in locale utilizzando Docker con accesso ai servizi Google Cloud
Se utilizzi le librerie client Google Cloud per integrare la tua applicazione con i servizi Google Cloud e non hai ancora protetto questi servizi per controllare l'accesso esterno, puoi configurare il tuo container locale per l'autenticazione con i servizi Google Cloud utilizzando una chiave dell'account di servizio.
Per eseguire localmente:
Per informazioni su come configurare le credenziali, consulta la sezione Chiave dell'account di servizio.
I seguenti flag di esecuzione di Docker inseriscono le credenziali e la configurazione dal sistema locale nel container locale:
- Utilizza il flag
--volume
(-v
) per inserire il file delle credenziali nel container (presuppone che tu abbia già impostato la variabile di ambienteGOOGLE_APPLICATION_CREDENTIALS
sulla tua macchina):-v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
- Utilizza il flag
--environment
(-e
) per impostare la variabileGOOGLE_APPLICATION_CREDENTIALS
all'interno del container:-e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
- Utilizza il flag
(Facoltativo) Utilizza questo comando Docker
run
completamente configurato:PORT=8080 && docker run \ -p 9090:${PORT} \ -e PORT=${PORT} \ -e K_SERVICE=dev \ -e K_CONFIGURATION=dev \ -e K_REVISION=dev-00001 \ -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json \ -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro \ IMAGE_URL
Tieni presente che il percorso
mostrato nell'esempio precedente è una posizione ragionevole in cui inserire le credenziali all'interno del container./tmp/keys/FILE_NAME.json
Tuttavia, funzioneranno anche altre posizioni di directory. Il requisito fondamentale è che la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
deve corrispondere alla posizione di montaggio bind all'interno del container.Tieni presente inoltre che con alcuni Google Cloud servizi potresti voler utilizzare una configurazione alternativa per isolare la risoluzione dei problemi locali dalle prestazioni di produzione e dai dati.
Passaggi successivi
Per scoprire come eseguire il deployment dei container creati, consulta la sezione Deployment dei servizi.