Test locale

Durante lo sviluppo, puoi eseguire e testare l'immagine container in locale, prima di eseguirne il deployment. Puoi utilizzare Cloud Code o Docker installato in locale per l'esecuzione e i test in locale, compresa l'esecuzione in locale con accesso ai servizi Google Cloud.

Esecuzione in un emulatore di servizi Knative

Il plug-in Cloud Code per VS Code e gli IDE JetBrains ti consente di eseguire localmente ed eseguire il debug dell'immagine container in un emulatore di servizio Knative all'interno del tuo IDE. L'emulatore consente di configurare un ambiente che rappresenti il tuo servizio in esecuzione su Knative.

Puoi configurare proprietà come l'allocazione di CPU e memoria, specificare le variabili di ambiente e impostare connessioni al database Cloud SQL.

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

Esecuzione in locale utilizzando Docker

Per testare la tua immagine container in locale utilizzando Docker:

  1. Usa 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 verrà utilizzata dall'applicazione per rimanere in ascolto delle richieste HTTP o HTTPS. Questo è un requisito del 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 consultare la 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 di 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 container locale per l'autenticazione con i servizi Google Cloud utilizzando le credenziali predefinite dell'applicazione.

Per l'esecuzione locale:

  1. Consulta la Guida introduttiva all'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 dal sistema locale nel container locale:

    1. Usa il flag --volume (-v) per inserire il file di credenziali nel container (supponendo che tu abbia già impostato la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sulla tua macchina):
      -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 contenitore:
      -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

    Tieni presente che il percorso

    /tmp/keys/FILE_NAME.json
    come mostrato nell'esempio sopra riportato è una posizione adeguata per l'inserimento delle credenziali all'interno del container.

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

    Tieni inoltre presente che, con alcuni servizi Google Cloud, potresti voler utilizzare una configurazione alternativa per isolare la risoluzione dei problemi locali dalle prestazioni e dai dati di produzione.

Passaggi successivi

Per scoprire come eseguire il deployment dei container creati, vedi Deployment dei servizi.