Test locale

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 rappresentativo del tuo servizio in esecuzione su Knative serving.

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

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

Esecuzione locale utilizzando Docker

Per testare l'immagine container localmente utilizzando 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 del container, ad esempio gcr.io/cloudrun/hello.

    La variabile di ambiente PORT specifica la porta che verrà utilizzata dall'applicazione per ascoltare le richieste HTTP o HTTPS. Questo è un requisito del contratto runtime del contenitore. In questo esempio utilizziamo la porta 8080.

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

Se non hai mai utilizzato i contenitori, ti consigliamo di consultare la guida Introduzione a Docker. Per scoprire di più sui comandi Docker, consulta la documentazione di Docker.

Esecuzione locale utilizzando Docker con accesso ai servizi Google Cloud

Se utilizzi le librerie client per integrare la tua applicazione con i servizi e non hai ancora protetto questi servizi per controllare l'accesso esterno, puoi configurare il contenitore locale per autenticarsi con i servizi utilizzando una chiave dell'account di servizio. Google Cloud Google Cloud Google Cloud

Per eseguire l'app localmente:

  1. Per informazioni su come configurare le credenziali, consulta la sezione Chiave dell'account di servizio.

  2. I seguenti flag di esecuzione di Docker iniettano le credenziali e la configurazione del sistema locale nel container locale:

    1. Utilizza il flag --volume (-v) per iniettare il file delle credenziali nel contenitore (si presume 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. 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

    Tieni presente 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 debba corrispondere alla posizione del montaggio del vincolo all'interno del contenitore.

    Tieni inoltre presente che con alcuni Google Cloud servizi, ti consigliamo di 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, consulta Eseguire il deployment dei servizi.