Durante lo sviluppo, puoi eseguire e testare l'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 consente di eseguire ed eseguire il debug dell'immagine del contenitore in locale in un emulatore di servizio Knative all'interno dell'IDE. L'emulatore ti consente di configurare un ambiente del tuo servizio in esecuzione su Knative serving.
Puoi configurare proprietà come l'allocazione di CPU e memoria, specificare le variabili di ambiente e impostare Cloud SQL e connessioni ai database.
- Installa Cloud Code per VS Code o un IDE JetBrains.
- Segui le istruzioni per lo sviluppo e il debug locale all'interno dell'IDE.
Esecuzione in locale con Docker
Per testare l'immagine container in locale con 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, per ad esempio
gcr.io/cloudrun/hello
.La variabile di ambiente
PORT
specifica la porta su cui verrà eseguita l'applicazione per ascoltare le richieste HTTP o HTTPS. Questo è un requisito di il contratto di runtime del container. In questo esempio utilizziamo la porta 8080.Apri http://localhost:9090 nel browser.
Se non hai mai utilizzato i contenitori, ti consigliamo di consultare la guida Introduzione a Docker. Per apprendere per saperne di più sui comandi Docker, consulta Documentazione Docker.
Esecuzione in locale con Docker con accesso ai servizi Google Cloud
Se utilizzi librerie client di Google Cloud per integrare la tua applicazione con i servizi Google Cloud e non hai ancora protetto questi servizi per controllare puoi configurare il container locale per l'autenticazione con Google Cloud che utilizzano servizi Credenziali predefinite dell'applicazione.
Per eseguire l'app localmente:
Consulta la Guida introduttiva all'autenticazione. per istruzioni su come generare, recuperare e configurare l'account di servizio e credenziali.
I seguenti flag di esecuzione Docker inseriscono le credenziali e la configurazione da nel container locale:
- Utilizza il flag
--volume
(-v
) per iniettare il file delle credenziali nel contenitore (si presume 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
Se vuoi, utilizza questo comando
run
Docker 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
Nota che il percorso
mostrato in l'esempio riportato sopra è una posizione ragionevole per posizionare le credenziali all'interno del container./tmp/keys/FILE_NAME.json
Tuttavia, funzioneranno anche altre posizioni della directory. Il requisito fondamentale è che la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
debba corrispondere alla posizione del montaggio dell'associazione all'interno del contenitore.Inoltre, con alcuni servizi Google Cloud potresti voler utilizzare un'istanza per isolare la risoluzione dei problemi locali dalle prestazioni di produzione e dati.
Passaggi successivi
Per scoprire come eseguire il deployment dei container creati, consulta Eseguire il deployment dei servizi.