Share via


Distribuire app contenitore di Azure con il comando az containerapp up

Il az containerapp up comando (o up) è il modo più rapido per distribuire un'app in App Contenitore di Azure da un'immagine esistente, dal codice sorgente locale o da un repository GitHub. Con questo singolo comando, è possibile usare l'app contenitore in pochi minuti.

Il az containerapp up comando è un modo semplificato per creare e distribuire app contenitore che usano principalmente le impostazioni predefinite. Tuttavia, è necessario eseguire altri comandi dell'interfaccia della riga di comando per configurare impostazioni più avanzate:

Per personalizzare le impostazioni di ridimensionamento o risorse dell'app contenitore, è possibile usare il up comando e quindi il az containerapp update comando per modificare queste impostazioni. Il az containerapp up comando non è un'abbreviazione del az containerapp update comando.

Il up comando può creare o usare risorse esistenti, tra cui:

  • Gruppo di risorse
  • Registro Azure Container
  • Ambiente app contenitore e area di lavoro Log Analytics
  • L'app contenitore

Il comando può compilare ed eseguire il push di un'immagine del contenitore in un Registro Azure Container (ACR) quando si specifica il codice sorgente locale o un repository GitHub. Quando si lavora da un repository GitHub, viene creato un flusso di lavoro di GitHub Actions che compila ed esegue automaticamente il push di una nuova immagine del contenitore quando si esegue il commit delle modifiche nel repository GitHub.

Se è necessario personalizzare l'ambiente app contenitore, creare prima di tutto l'ambiente usando il az containerapp env create comando . Se non si specifica un ambiente esistente, il up comando cerca uno nel gruppo di risorse e, se presente, usa tale ambiente. Se non viene trovato, crea un ambiente con un'area di lavoro Log Analytics.

Per altre informazioni sul az containerapp up comando e sulle relative opzioni, vedere az containerapp up.

Prerequisiti

Requisito Istruzioni
Account di Azure Se non si dispone di un account, crearne uno gratuitamente. Per continuare, è necessaria l'autorizzazione Collaboratore o Proprietario per la sottoscrizione di Azure. Per informazioni dettagliate, vedere Assegnare ruoli di Azure usando il portale di Azure.
GitHub Account Se si usa un repository GitHub, iscriversi gratuitamente.
Interfaccia della riga di comando di Azure Installare l'interfaccia della riga di comando di Azure.
Codice sorgente locale Se si usa il codice sorgente locale, è necessario disporre di una directory del codice sorgente locale.
Immagine esistente Se si usa un'immagine esistente, è necessario il server del Registro di sistema, il nome dell'immagine e il tag. Se si usa un registro privato, sono necessarie le credenziali.

Impostazione

  1. Accedere ad Azure con l'interfaccia della riga di comando di Azure.

    az login
    
  2. Installare quindi l'estensione App Azure Container per l'interfaccia della riga di comando.

    az extension add --name containerapp --upgrade
    
  3. Ora che l'estensione o il modulo corrente è installato, registrare lo Microsoft.App spazio dei nomi.

    az provider register --namespace Microsoft.App
    
  4. Registrare il Microsoft.OperationalInsights provider per l'area di lavoro Log Analytics di Monitoraggio di Azure.

    az provider register --namespace Microsoft.OperationalInsights
    

Eseguire la distribuzione da un'immagine esistente

È possibile distribuire un'app contenitore che usa un'immagine esistente in un registro contenitori pubblico o privato. Se si esegue la distribuzione da un registro privato, è necessario fornire le credenziali usando le --registry-serveropzioni , --registry-usernamee --registry-password .

In questo esempio, il az containerapp up comando esegue le azioni seguenti:

  1. Creazione di un gruppo di risorse.
  2. Crea un ambiente e un'area di lavoro Log Analytics.
  3. Crea e distribuisce un'app contenitore che esegue il pull dell'immagine da un registro pubblico.
  4. Imposta l'ingresso dell'app contenitore su esterno con una porta di destinazione impostata sul valore specificato.

Eseguire il comando seguente per distribuire un'app contenitore da un'immagine esistente. Sostituire i <SEGNAPOSTO> con i valori.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

È possibile usare il up comando per ridistribuire un'app contenitore. Se si vuole ridistribuire con una nuova immagine, usare l'opzione --image per specificare una nuova immagine. Assicurarsi che le --resource-group opzioni e environment siano impostate sullo stesso valore della distribuzione originale.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Eseguire la distribuzione dal codice sorgente locale

Quando si usa il comando per eseguire la up distribuzione da un'origine locale, compila l'immagine del contenitore, lo inserisce in un registro e distribuisce l'app contenitore. Crea il Registro di sistema in Registro Azure Container se non ne fornisci uno.

Il comando può compilare l'immagine con o senza un Dockerfile. Se la compilazione senza un Dockerfile sono supportate le lingue seguenti:

  • .NET
  • Node.JS
  • PHP
  • Python

L'esempio seguente illustra come distribuire un'app contenitore dal codice sorgente locale.

Nell'esempio il az containerapp up comando esegue le azioni seguenti:

  1. Creazione di un gruppo di risorse.
  2. Crea un ambiente e un'area di lavoro Log Analytics.
  3. Crea un registro in Registro Azure Container.
  4. Compila l'immagine del contenitore (usando il Dockerfile, se esistente).
  5. Esegue il push dell'immagine nel Registro di sistema.
  6. Crea e distribuisce l'app contenitore.

Eseguire il comando seguente per distribuire un'app contenitore dal codice sorgente locale:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Quando il Dockerfile include l'istruzione EXPO edizione Standard, il up comando configura l'ingresso e la porta di destinazione dell'app contenitore usando le informazioni contenute nel Dockerfile.

Se è stato configurato l'ingresso tramite il Dockerfile o l'app non richiede l'ingresso, è possibile omettere l'opzione ingress .

L'output del comando include l'URL per l'app contenitore.

In caso di errore, è possibile eseguire di nuovo il comando con l'opzione --debug per ottenere altre informazioni sull'errore. Se la compilazione non riesce senza un Dockerfile, è possibile provare ad aggiungere un Dockerfile ed eseguire di nuovo il comando.

Per usare il comando per ridistribuire l'app az containerapp up contenitore con un'immagine aggiornata, includere gli --resource-group argomenti e --environment . L'esempio seguente illustra come ridistribuire un'app contenitore dal codice sorgente locale.

  1. Apportare modifiche al codice sorgente.

  2. Esegui questo comando:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Eseguire la distribuzione da un repository GitHub

Quando si usa il comando per eseguire la az containerapp up distribuzione da un repository GitHub, viene generato un flusso di lavoro di GitHub Actions che compila l'immagine del contenitore, lo inserisce in un registro e distribuisce l'app contenitore. Il comando crea il Registro di sistema in Registro Azure Container se non ne viene fornito uno.

Per compilare l'immagine è necessario un Dockerfile. Quando il Dockerfile include l'istruzione EXPO edizione Standard, il comando configura l'ingresso e la porta di destinazione dell'app contenitore usando le informazioni contenute nel Dockerfile.

L'esempio seguente illustra come distribuire un'app contenitore da un repository GitHub.

Nell'esempio il az containerapp up comando esegue le azioni seguenti:

  1. Creazione di un gruppo di risorse.
  2. Crea un ambiente e un'area di lavoro Log Analytics.
  3. Crea un registro in Registro Azure Container.
  4. Compila l'immagine del contenitore usando il Dockerfile.
  5. Esegue il push dell'immagine nel Registro di sistema.
  6. Crea e distribuisce l'app contenitore.
  7. Crea un flusso di lavoro di GitHub Actions per compilare l'immagine del contenitore e distribuire l'app contenitore quando viene eseguito il push delle modifiche future nel repository GitHub.

Per distribuire un'app da un repository GitHub, eseguire il comando seguente:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GitHub repository URL> \
  --ingress external 

Se è stato configurato l'ingresso tramite il Dockerfile o l'app non richiede l'ingresso, è possibile omettere l'opzione ingress .

Poiché il up comando crea un flusso di lavoro di GitHub Actions, riesecuzione per distribuire le modifiche all'immagine dell'app ha l'effetto indesiderato della creazione di più flussi di lavoro. Eseguire invece il push delle modifiche nel repository GitHub e il flusso di lavoro GitHub compila e distribuisce automaticamente l'app. Per modificare il flusso di lavoro, modificare il file del flusso di lavoro in GitHub.

Passaggi successivi