Test locale

Durante lo sviluppo, puoi eseguire e testare l'immagine container in locale, prima al deployment. Puoi utilizzare Cloud Code o Docker installato localmente per eseguire e testare localmente, inclusa l'esecuzione locale con accesso ai servizi Google Cloud.

In esecuzione in un emulatore Knative serving

Il plug-in Cloud Code per IDE VS Code e JetBrains consente di eseguire localmente l'immagine container e di eseguirne il debug in una funzionalità Knative serving un emulatore all'interno del tuo 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.

  1. Installa Cloud Code per VS Code o un IDE JetBrains.
  2. Segui le istruzioni per lo sviluppo e il debug localmente all'interno del tuo IDE.

Esecuzione in locale con Docker

Per testare l'immagine container in locale con Docker:

  1. 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 viene utilizzata la porta 8080.

  2. Apri http://localhost:9090 nel browser.

Se non hai mai utilizzato i container, ti consigliamo di esaminare le Guida introduttiva di Docker. Per ulteriori informazioni 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 l'esecuzione in locale:

  1. Consulta la sezione Iniziare a utilizzare l'autenticazione per istruzioni su come generare, recuperare e configurare le credenziali dell'account di servizio.

  2. I seguenti flag di esecuzione Docker inseriscono le credenziali e la configurazione da nel container locale:

    1. Utilizza il flag --volume (-v) per inserire il file delle credenziali nel container (supponendo che tu abbia già impostato la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul tuo computer):
      -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/FILE_NAME.json:ro
    2. Utilizza il flag --environment (-e) per impostare la variabile GOOGLE_APPLICATION_CREDENTIALS all'interno del container:
      -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/FILE_NAME.json
  3. Facoltativamente, 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

    Nota che il percorso

    /tmp/keys/FILE_NAME.json
    mostrato nell'esempio precedente è una posizione ragionevole per inserire le credenziali all'interno del contenitore.

    Tuttavia, funzioneranno anche altre posizioni della directory. Il requisito fondamentale è che la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS deve corrisponde alla posizione di montaggio di binding all'interno del container.

    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 che hai creato, consulta Deployment dei servizi.