Gestire le variabili di ambiente in App contenitore di Azure
Articolo
In App contenitore di Azure è possibile impostare variabili di ambiente di runtime. Queste variabili possono essere impostate manualmente come voci o come riferimenti a segreti.
Queste variabili di ambiente vengono caricate nell'app contenitore in fase di runtime.
Configurare le variabili di ambiente
È possibile configurare le variabili di ambiente al momento della creazione dell'app contenitore o successivamente, creando una nuova revisione.
Nota
Per evitare confusione, non è consigliabile duplicare le variabili di ambiente. Quando più variabili di ambiente hanno lo stesso nome, l'ultima nell'elenco diventa effettiva.
Se si sta creando una nuova app contenitore tramite il portale di Azure, è possibile configurare le variabili di ambiente nella sezione Contenitore:
È possibile creare l'app contenitore con le variabili di ambiente mediante il comando az containerapp create, passando le variabili di ambiente come voci "key=value" separate da spazi usando il parametro --env-vars.
Per fare riferimento a un segreto, è necessario assicurarsi che il segreto sia già stato creato. Vedere Gestire i segreti. È possibile usare il nome del segreto e passarlo al campo del valore, ma iniziando con secretref:
Per usare questo cmdlet, è necessario passare rispettivamente il nome della variabile di ambiente usando il parametro -Name e il valore usando il parametro -Value.
Per fare riferimento a un segreto, è necessario assicurarsi che il segreto sia già stato creato. Vedere Gestire i segreti. È possibile usare il nome del segreto e passarlo al parametro -SecretRef:
In questo cmdlet occorre passare il nome dell'immagine del contenitore (non l'app contenitore) desiderato usando il parametro -Name, il nome completo dell'immagine usando il parametro -Image e fare riferimento all'oggetto ambiente definito in precedenza nella variabile $envVar.
Si noti che può essere necessario definire altre impostazioni all'interno dell'oggetto modello per evitare di eseguirne l'override, ad esempio risorse, montaggi di volumi e così via. Consultare la documentazione completa su questo modello in New-AzContainerAppTemplateObject.
Infine, è possibile aggiornare l'app contenitore in base al nuovo oggetto modello creato usando il cmdlet di PowerShell Update-AzContainerApp.
In questo ultimo cmdlet è sufficiente passare l'oggetto modello definito nella variabile $containerTemplate nel passaggio precedente usando il parametro -TemplateContainer.
Aggiungere variabili di ambiente in app contenitore esistenti
Dopo aver creato l'app contenitore, l'unico modo per aggiornare le variabili di ambiente dell'app contenitore consiste nel creare una nuova revisione con le modifiche necessarie.
Se si vogliono creare più variabili di ambiente, è possibile inserire valori separati da spazi nel formato "key=value".
Per fare riferimento a un segreto, è necessario assicurarsi che il segreto sia già stato creato. Vedere Gestire i segreti. È possibile usare il nome del segreto e passarlo al campo del valore, ma a partire da secretref:, vedere l'esempio seguente:
Analogamente alle operazioni da eseguire durante la creazione di una nuova app contenitore, è necessario creare un oggetto denominato EnvironmentVar, contenuto all'interno di un oggetto Container. Questo Container viene quindi usato con il cmdlet di PowerShell New-AzContainerApp.
In questo cmdlet è sufficiente passare l'oggetto modello definito in precedenza come descritto nella sezione Configurare le variabili di ambiente.
App contenitore di Azure aggiunge automaticamente variabili di ambiente che le app e i processi possono usare per ottenere i metadati della piattaforma in fase di esecuzione.
App
Per le app contenitore sono disponibili le variabili seguenti:
Nome variabile
Descrizione
Valore di esempio
CONTAINER_APP_NAME
Nome dell’app contenitore.
my-containerapp
CONTAINER_APP_REVISION
Nome della revisione dell'app contenitore.
my-containerapp--20mh1s9
CONTAINER_APP_HOSTNAME
Nome host specifico della revisione dell'app contenitore.
Suffisso DNS per l'ambiente di App contenitore. Per ottenere il nome di dominio completo (FQDN) dell'app, aggiungere il nome dell'app al suffisso DNS nel formato $CONTAINER_APP_NAME.$CONTAINER_APP_ENV_DNS_SUFFIX.
<DEFAULT_HOSTNAME>.<REGION>.azurecontainerapps.io
CONTAINER_APP_PORT
Porta di destinazione dell'app contenitore.
8080
CONTAINER_APP_REPLICA_NAME
Nome della replica dell'app contenitore.
my-containerapp--20mh1s9-86c8c4b497-zx9bq
Processi
Per i processi di App contenitore sono disponibili le variabili seguenti: