Eseguire un contenitore personalizzato in Azure

Il servizio app di Azure offre stack di applicazioni predefiniti in Windows, ad esempio ASP.NET o Node.js, eseguiti in IIS. Tuttavia, gli stack di applicazioni preconfigurato bloccano il sistema operativo e impediscono l'accesso di basso livello. I contenitori windows personalizzati non hanno queste restrizioni e consentono agli sviluppatori di personalizzare completamente i contenitori e concedere alle applicazioni in contenitori l'accesso completo alle funzionalità di Windows.

Questa guida introduttiva illustra come distribuire un'app ASP.NET in un'immagine di Windows per Registro Azure Container da Visual Studio. ed eseguirla in un contenitore personalizzato in Servizio app di Azure.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

  • Installare Docker per Windows
  • Passare a Docker per eseguire i contenitori di Windows
  • Installare Visual Studio 2022 con i carichi di lavoro ASP.NET e sviluppo Web e sviluppo di Azure. In Visual Studio 2022 Community verificare che il componente dei modelli di progetto e di elementi di .NET Framework sia selezionato con ASP.NET e carico di lavoro sviluppo Web. Se Visual Studio 2022 è già stato installato:
    • Installare gli aggiornamenti più recenti in Visual Studio selezionando ?>Controlla aggiornamenti.
    • Aggiungere i carichi di lavoro in Visual Studio selezionando Strumenti>Ottieni strumenti e funzionalità.

1 - Creare un'app Web ASP.NET

Creare un'app Web ASP.NET seguendo questa procedura:

  1. Aprire Visual Studio e selezionare Crea un nuovo progetto.

  2. In Crea un nuovo progetto trovare e selezionare Applicazione Web ASP.NET (.NET Framework) per C#, quindi selezionare Avanti.

    Screenshot della finestra di dialogo Crea un nuovo progetto.

  3. In Configura il nuovo progetto, in Nome progetto, assegnare all'applicazione il nome myfirstazurewebapp. In Framework selezionare .NET Framework 4.8 e quindi selezionare Crea.

    Screenshot del progetto Configura l'app Web.

  4. È possibile distribuire qualsiasi tipo di app Web ASP.NET in Azure. Per questa guida di avvio rapido scegliere il modello MVC.

  5. In Autenticazione selezionare Nessuno. In Avanzate selezionare Supporto Docker e deselezionare Configura per HTTPS. Seleziona Crea.

    Screenshot della finestra di dialogo Crea ASP.NET'applicazione Web.

  6. Se il file Dockerfile non viene aperto automaticamente, aprirlo da Esplora soluzioni.

  7. È necessaria un'immagine padre supportata. Modificare l'immagine padre sostituendo la riga FROM con il codice seguente e salvare il file:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. Nel menu di Visual Studio selezionare Debug>Avvia senza eseguire debug per eseguire l'app Web in locale.

    Screenshot dell'app in esecuzione in locale.

2 - Pubblicare in Registro Azure Container

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto myfirstazurewebapp e scegliere Pubblica.

  2. In Destinazione selezionare Registro Contenitori Docker e quindi selezionare Avanti.

    Screenshot della schermata Seleziona registro Contenitori Docker.

  3. In Destinazione specifica selezionare Registro Azure Container e quindi selezionare Avanti.

    Screenshot della pagina di panoramica Pubblica dal progetto.

  4. In Pubblica verificare che sia selezionata la sottoscrizione corretta. In Registri contenitori selezionare il + pulsante per creare un nuovo Registro Azure Container.

    Screenshot della schermata Crea nuovo Registro Azure Container.

  5. In Crea nuovo verificare che sia selezionata la sottoscrizione corretta. In Gruppo di risorse selezionare Nuovo e digitare myResourceGroup come nome e selezionare OK. In SKU selezionare Basic. In Posizione del Registro di sistema selezionare un percorso del Registro di sistema e quindi selezionare Crea.

    Screenshot dei dettagli Registro Azure Container.

  6. In Pubblica, in Registro Contenitori selezionare il registro creato e quindi selezionare Fine.

    Screenshot della schermata Seleziona Registro Azure Container esistente.

    Attendere il completamento della distribuzione. La pagina Pubblica mostra ora il nome del repository. Selezionare il pulsante Copia per copiare il nome del repository per un secondo momento.

    Schermata che evidenzia il nome del repository.

3 - Creare un contenitore personalizzato di Windows

  1. Accedere al portale di Azure.

  2. Scegliere Crea una risorsa nell'angolo in alto a sinistra del portale di Azure.

  3. In Servizi popolari selezionare Crea in App Web.

  4. In Crea app Web scegliere la sottoscrizione e un gruppo di risorse. Se necessario, è possibile creare un nuovo gruppo di risorse.

  5. Specificare un nome dell'app, ad esempio win-container-demo. Scegliere Contenitore Docker per Pubblica e Windows per sistema operativo. Selezionare Avanti: Docker per continuare.

    Screenshot di Creazione di un'app Web per contenitori.

  6. Per Origine immagine scegliere Docker Hub e immettere il nome del repository copiato in Pubblica in Registro Azure Container.

    Screenshot di Configure you're a Web App for Containers (Configurare un'app Web per contenitori).

    Se si ha un'immagine personalizzata per l'applicazione Web in un'altra posizione, ad esempio in Registro Azure Container o in qualsiasi altro repository privato, si può configurare tale immagine. Selezionare Rivedi e crea per continuare.

  7. Verificare tutti i dettagli e quindi selezionare Crea e attendere che Azure crei le risorse necessarie. Screenshot di Creazione di un'app Web per contenitori.

4 - Passare al contenitore personalizzato

Al termine dell'operazione di Azure, verrà visualizzata una casella di notifica.

Screenshot della distribuzione riuscita.

  1. Fare clic su Vai alla risorsa.

  2. Nella panoramica di questa risorsa seguire il collegamento accanto a URL.

Si aprirà la nuova pagina del browser illustrata di seguito:

Screenshot dell'avvio del contenitore personalizzato di Windows.

Attendere alcuni minuti e riprovare, finché non viene visualizzata la pagina iniziale di ASP.NET predefinita:

Screenshot del contenitore personalizzato di Windows in esecuzione.

Complimenti. È ora in esecuzione il primo contenitore Windows personalizzato nel servizio app di Azure.

5 - Vedere i log di avvio dei contenitori

Il caricamento del contenitore Windows potrebbe richiedere tempo. Per visualizzare lo stato di avanzamento, passare all'URL seguente sostituendo <app_name> con il nome dell'app.

https://<app_name>.scm.azurewebsites.net/api/logstream

I log trasmessi hanno un aspetto simile al seguente:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

6 - Aggiornare localmente e ridistribuire

  1. In Esplora soluzioni di Visual Studio aprire Visualizzazioni>Home>Index.cshtml.

  2. Trovare il tag HTML <div class="jumbotron"> in alto e sostituire l'intero elemento con il codice seguente:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Per la ridistribuzione in Azure, fare clic con il pulsante destro del mouse sul progetto myfirstazurewebapp in Esplora soluzioni e scegliere Pubblica.

  4. Nella pagina di pubblicazione selezionare Pubblica e attendere il completamento della pubblicazione.

  5. Per indicare al servizio a di eseguire il pull della nuova immagine da Hub Docker, riavviare l'app. Di nuovo nella pagina dell'app nel portale fare clic su Riavvia>.

    Screenshot del servizio app Panoramica con il pulsante Riavvia evidenziato.

Passare di nuovo al contenitore personalizzato. Quando si aggiorna la pagina Web, l'app dovrebbe prima tornare alla pagina "Avvio" e quindi visualizzare la pagina Web aggiornata di nuovo dopo alcuni minuti.

Screenshot dell'app Web aggiornata in Azure.

7 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.

Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.

Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.

Passaggi successivi

app Azure Servizio in Linux fornisce stack di applicazioni predefiniti in Linux con supporto per linguaggi come .NET, PHP, Node.js e altri. È anche possibile usare un'immagine Docker personalizzata per eseguire l'app Web in uno stack di applicazioni non già definito in Azure. Questo argomento di avvio rapido illustra come distribuire un'immagine da un Registro Azure Container al servizio app.

Nota

Per informazioni sull'esecuzione di applicazioni in contenitori in un ambiente serverless, vedere App contenitore.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

1 - Creare un registro contenitori

Questa guida introduttiva usa Registro Azure Container come registro preferito. È possibile usare altri registri, ma i passaggi possono variare leggermente.

Creare un registro contenitori seguendo le istruzioni riportate in Avvio rapido: Creare un registro contenitori privato usando il portale di Azure.

Importante

Assicurarsi di impostare l'opzione utente Amministrazione su Abilita quando si crea il Registro Azure Container. È anche possibile impostare questa opzione dalla sezione Chiavi di accesso della pagina del registro nel portale di Azure. Questa impostazione è obbligatoria per l'accesso al servizio app. Per l'identità gestita, vedere l'esercitazione Distribuire da Registro Azure Container.

2 - Accedere

  1. Avviare Visual Studio Code.

  2. Selezionare il logo di Azure nella barra delle attività, passare ad APP edizione Standard RVICE Explorer, quindi selezionare Accedi ad Azure e seguire le istruzioni.

    Screenshot dell'accesso ad Azure in Visual Studio Code.

  3. Nella barra di stato nella parte inferiore verificare l'indirizzo di posta elettronica dell'account Azure. Nello strumento di esplorazione app edizione Standard RVICE la sottoscrizione deve essere visualizzata.

  4. Nella barra delle attività selezionare il logo Docker . Nello strumento di esplorazione REGISTRIES verificare che venga visualizzato il registro contenitori creato.

    Screenshot che mostra il valore Registries con Azure espanso.

3 - Controllare i prerequisiti

Verificare che Docker sia installato e in esecuzione. Il comando seguente visualizzerà la versione di Docker se è in esecuzione.

docker --version

4 - Creare e creare un'immagine

  1. In Visual Studio Code aprire una cartella vuota e aggiungere un file denominato Dockerfile. Nel Dockerfile incollare il contenuto in base al framework di linguaggio desiderato:
FROM mcr.microsoft.com/appsvc/dotnetcore:lts

ENV PORT 8080
EXPOSE 8080

ENV ASPNETCORE_URLS "http://*:${PORT}"

ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]

In questo Dockerfile l'immagine padre è uno dei contenitori .NET predefiniti di servizio app. È possibile trovare i file di origine nel repository GitHub Azure-App-Service/ImageBuilder, in GenerateDockerFiles/dotnetcore. Il Dockerfile copia una semplice app .NET in /defaulthome/hostingstart. Il Dockerfile avvia semplicemente l'app.

  1. Aprire il riquadro comandi e digitare Immagini Docker: Compila immagine. Digitare INVIO per eseguire il comando.

  2. Nella casella tag immagine specificare il tag desiderato nel formato seguente: <acr-name>.azurecr.io/<image-name>/<tag>, dove <acr-name> è il nome del registro contenitori creato. Premere INVIO.

  3. Al termine della compilazione dell'immagine, fare clic su Aggiorna nella parte superiore di Esplora IMMAGINI e verificare che l'immagine sia stata compilata correttamente.

    Screenshot che mostra l'immagine compilata con tag.

5 - Distribuire nel registro contenitori

  1. Nella barra delle attività fare clic sull'icona Docker . In Esplora IMMAGINI trovare l'immagine creata.

  2. Espandere l'immagine, fare clic con il pulsante destro del mouse sul tag desiderato e scegliere Push.

  3. Assicurarsi che il tag immagine inizi con <acr-name>.azurecr.io e premere INVIO.

  4. Al termine del push dell'immagine nel registro contenitori di Visual Studio Code, fare clic su Aggiorna nella parte superiore dello strumento di esplorazione REGISTRIES e verificare che l'immagine venga inserita correttamente.

    Screenshot che mostra l'immagine distribuita nel Registro Azure Container.

6 - Eseguire la distribuzione in servizio app

  1. Nello strumento di esplorazione REGISTRIES espandere l'immagine, fare clic con il pulsante destro del mouse sul tag e selezionare Deploy image to app Azure Service (Distribuisci immagine nel servizio app Azure).
  2. Seguire le istruzioni per scegliere una sottoscrizione, un nome di app univoco globale, un gruppo di risorse e un piano di servizio app. Scegliere B1 Basic per il piano tariffario e un'area nelle vicinanze.

Dopo la distribuzione, l'app è disponibile all'indirizzo http://<app-name>.azurewebsites.net.

Un gruppo di risorse è una raccolta denominata di tutte le risorse dell'applicazione in Azure. Può contenere ad esempio un riferimento a un sito Web, a un database e a una funzione di Azure.

Un piano di servizio app definisce le risorse fisiche che verranno usate per ospitare il sito Web. Questa guida di avvio rapido usa un piano di hosting Basic nell'infrastruttura Linux, il che significa che il sito verrà ospitato in un computer Linux insieme ad altri siti Web. Se si inizia con il piano Basic, è possibile usare il portale di Azure per aumentare le prestazioni in modo che il proprio sia l'unico sito in esecuzione su un computer. Per i prezzi, vedere prezzi servizio app.

7 - Sfoglia il sito Web

Il pannello Output mostra lo stato delle operazioni di distribuzione. Al termine dell'operazione, selezionare Apri sito nella notifica popup per aprire il sito nel browser.

8 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.

Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.

Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.

Passaggi successivi

L'avvio rapido è stato completato correttamente.

L'app servizio app esegue il pull dal registro contenitori ogni volta che viene avviata. Se si ricompila l'immagine, è sufficiente eseguirne il push nel registro contenitori e l'app esegue il pull nell'immagine aggiornata al riavvio. Per indicare all'app di eseguire immediatamente il pull dell'immagine aggiornata, riavviarla.

Altre estensioni di Azure:

app Azure Servizio in Linux fornisce stack di applicazioni predefiniti in Linux con supporto per linguaggi come .NET, PHP, Node.js e altri. È anche possibile usare un'immagine Docker personalizzata per eseguire l'app Web in uno stack di applicazioni non già definito in Azure. Questa guida introduttiva illustra come distribuire un'immagine da Registro Azure Container al servizio app Azure.

Nota

Per informazioni sull'esecuzione di applicazioni in contenitori in un ambiente serverless, vedere App contenitore.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

1 - Clonare il repository di esempio

Clonare l'app di esempio .NET 6.0 con il comando seguente:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

2 - Eseguire il push dell'immagine in Registro Azure Container

Assicurarsi di essere nella cartella radice del repository clonato. Questo repository contiene un file Dockerfile.linux .

  1. Accedere all'interfaccia della riga di comando di Azure.

    az login
    
  2. Accedere a Registro Azure Container.

    az acr login -n <your_registry_name>
    
  3. Compilare l'immagine del contenitore. Si assegna un nome all'immagine dotnetcore-docs-hello-world-linux.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Eseguire il push dell'immagine del contenitore in Registro Azure Container.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Nota

    Il Dockerfile imposta internamente il numero di porta su 80. Per altre informazioni sulla configurazione del contenitore, vedere Configurare un contenitore personalizzato.

3 - Distribuire in Azure

Accedere al portale di Azure

Accedere al portale di Azure.

Creare risorse Azure

  1. Digitare i servizi app nella ricerca. In Servizi selezionare servizio app.

    Screenshot della ricerca di

  2. Nella pagina servizio app selezionare + Crea.

  3. Nella scheda Informazioni di base, in Dettagli progetto, verificare che la sottoscrizione corretta sia selezionata e quindi selezionare Crea nuovo gruppo di risorse. Per il nome digitare myResourceGroup.

    Screenshot della sezione Dettagli progetto che mostra dove si seleziona la sottoscrizione di Azure e il gruppo di risorse per l'app Web.

  4. In Dettagli istanza digitare un nome univoco globale per l'app Web e selezionare Contenitore Docker. Selezionare Linux per Sistema operativo. Selezionare un'area da cui si vuole gestire l'app.

    Screenshot della sezione Dettagli istanza in cui si specifica un nome per la macchina virtuale e selezionarne l'area, l'immagine e le dimensioni.

  5. In Piano servizio app selezionare Crea nuovo piano servizio app. Digitare myAppServicePlan come nome. Per passare al livello Gratuito, selezionare Modifica dimensioni, selezionare la scheda Sviluppo/Test , selezionare F1 e selezionare il pulsante Applica nella parte inferiore della pagina.

    Screenshot della sezione Amministrazione istrator account in cui si specificano il nome utente e la password dell'amministratore.

  6. Selezionare il pulsante Avanti: Docker > nella parte inferiore della pagina.

  7. Nella scheda Docker selezionare Contenitore singolo in Opzioni e Registro Azure Container per Origine immagine. In Opzioni del Registro Azure Container impostare i valori seguenti:

    • Registro di sistema: selezionare il Registro Azure Container.
    • Immagine: selezionare dotnetcore-docs-hello-world-linux.
    • Tag: selezionare la versione più recente.

    Screenshot che mostra le opzioni di Registro Azure Container.

  8. Selezionare quindi il pulsante Rivedi e crea nella parte inferiore della pagina.

    Screenshot che mostra il pulsante Rivedi e crea nella parte inferiore della pagina.

  9. Dopo l'esecuzione della convalida, seleziona il pulsante Create in fondo alla pagina.

  10. Al termine della distribuzione, selezionare Vai alla risorsa.

    Screenshot che mostra il passaggio successivo per passare alla risorsa.

4 - Passare all'app

Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net.

Screenshot che mostra l'applicazione distribuita.

5 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.

Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.

Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.

Passaggi successivi

L'avvio rapido è stato completato correttamente.

L'app servizio app esegue il pull dal registro contenitori ogni volta che viene avviata. Se si ricompila l'immagine, è sufficiente eseguirne il push nel registro contenitori e l'app esegue il pull nell'immagine aggiornata al riavvio. Per indicare all'app di eseguire immediatamente il pull dell'immagine aggiornata, riavviarla.

Il servizio app di Azure offre stack di applicazioni predefiniti in Windows, ad esempio ASP.NET o Node.js, eseguiti in IIS. Tuttavia, gli stack di applicazioni preconfigurato bloccano il sistema operativo e impediscono l'accesso di basso livello. I contenitori windows personalizzati non hanno queste restrizioni e consentono agli sviluppatori di personalizzare completamente i contenitori e concedere alle applicazioni in contenitori l'accesso completo alle funzionalità di Windows.

Questa guida introduttiva illustra come distribuire un'app ASP.NET in un'immagine di Windows da Registro Azure Container al servizio app Azure.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

1 - Clonare il repository di esempio

Clonare l'app di esempio .NET 6.0 con il comando seguente:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

2 - Eseguire il push dell'immagine in Registro Azure Container

Assicurarsi di essere nella cartella radice del repository clonato. Questo repository contiene un file Dockerfile.windows . Verrà usato Windows Nano Server Long Term Servicing Channel (LTSC) 2022 come sistema operativo di base, chiamando in modo esplicito la base di Windows.

Nota

Anche se si tratta di un contenitore Windows, i percorsi devono comunque usare barre. Per altri dettagli, vedere Scrivere un Dockerfile .

  1. Accedere all'interfaccia della riga di comando di Azure.

    az login
    
  2. Accedere a Registro Azure Container.

    az acr login -n <your_registry_name>
    
  3. Compilare l'immagine del contenitore. Stiamo assegnando un nome all'immagine dotnetcore-docs-hello-world-windows.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Eseguire il push dell'immagine del contenitore in Registro Azure Container.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Nota

    Il Dockerfile imposta internamente il numero di porta su 80. Per altre informazioni sulla configurazione del contenitore, vedere Configurare un contenitore personalizzato.

3 - Distribuire in Azure

Accedere al portale di Azure

Accedere al portale di Azure.

Creare risorse Azure

  1. Digitare i servizi app nella ricerca. In Servizi selezionare servizio app.

    Screenshot della ricerca di

  2. Nella pagina servizio app selezionare + Crea.

  3. Nella scheda Informazioni di base, in Dettagli progetto, verificare che la sottoscrizione corretta sia selezionata e quindi selezionare Crea nuovo gruppo di risorse. Per il nome digitare myResourceGroup.

    Screenshot della sezione Dettagli progetto che mostra dove si seleziona la sottoscrizione di Azure e il gruppo di risorse per l'app Web.

  4. In Dettagli istanza digitare un nome univoco globale per l'app Web e selezionare Contenitore Docker. Selezionare Windows per sistema operativo. Selezionare un'area da cui si vuole gestire l'app.

    Screenshot della sezione Dettagli istanza in cui si specifica un nome per la macchina virtuale e selezionarne l'area, l'immagine e le dimensioni.

  5. In Piano servizio app selezionare Crea nuovo piano servizio app. Digitare myAppServicePlan come nome. Per passare al livello gratuito, selezionare Modifica dimensioni, selezionare la scheda Sviluppo/Test , selezionare P1v3 e selezionare il pulsante Applica nella parte inferiore della pagina.

    Screenshot della sezione Amministrazione istrator account in cui si specificano il nome utente e la password dell'amministratore.

  6. Selezionare il pulsante Avanti: Docker > nella parte inferiore della pagina.

  7. Nella scheda Docker selezionare Registro Azure Container per Origine immagine. In Opzioni del Registro Azure Container impostare i valori seguenti:

    • Registro di sistema: selezionare il Registro Azure Container.
    • Immagine: selezionare dotnetcore-docs-hello-world-windows.
    • Tag: selezionare la versione più recente.

    Screenshot che mostra le opzioni di Registro Azure Container.

  8. Selezionare quindi il pulsante Rivedi e crea nella parte inferiore della pagina.

    Screenshot che mostra il pulsante Rivedi e crea nella parte inferiore della pagina.

  9. Dopo l'esecuzione della convalida, seleziona il pulsante Create in fondo alla pagina.

  10. Al termine della distribuzione, selezionare Vai alla risorsa.

    Screenshot che mostra il passaggio successivo per passare alla risorsa.

4 - Passare all'app

Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net.

Screenshot del servizio app di Windows con la messaggistica che i contenitori senza una porta esposta verranno eseguiti in modalità in background.

Si noti che il sistema operativo host viene visualizzato nel piè di pagina, confermando che è in esecuzione in un contenitore Windows.

5 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.

Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.

Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.

Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.

Passaggi successivi

L'avvio rapido è stato completato correttamente.

L'app servizio app esegue il pull dal registro contenitori ogni volta che viene avviata. Se si ricompila l'immagine, è sufficiente eseguirne il push nel registro contenitori e l'app esegue il pull nell'immagine aggiornata al riavvio. Per indicare all'app di eseguire immediatamente il pull dell'immagine aggiornata, riavviarla.

Il servizio app di Azure offre stack di applicazioni predefiniti in Windows, ad esempio ASP.NET o Node.js, eseguiti in IIS. Tuttavia, gli stack di applicazioni preconfigurato bloccano il sistema operativo e impediscono l'accesso di basso livello. I contenitori windows personalizzati non hanno queste restrizioni e consentono agli sviluppatori di personalizzare completamente i contenitori e concedere alle applicazioni in contenitori l'accesso completo alle funzionalità di Windows.

Questa guida introduttiva illustra come distribuire un'app ASP.NET in un'immagine di Windows da Registro artefatti Microsoft al servizio app Azure.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

1 - Connessione in Azure

Accedere all'account Azure usando il Connect-AzAccount comando e seguendo il prompt:

Connect-AzAccount

2 - Creare un gruppo di risorse

Creare un gruppo di risorse con il comando New-AzResourceGroup. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali. Per visualizzare tutte le località supportate per il servizio app, eseguire il comando Get-AzLocation.

New-AzResourceGroup -Name myResourceGroup -Location eastus

Il comando restituisce Login Succeeded al termine dell'esecuzione.

3 - Creare il piano di servizio app

Creare un nuovo piano di servizio app usando il comando New-AzAppServicePlan .

L'esempio seguente crea un piano servizio app denominato myAppServicePlan nel piano tariffario PremiumV3 (-Tier PremiumV3). Il -HyperV parametro specifica il contenitore di Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

4 - Creare l'app Web

Creare una nuova app usando il comando New-AzWebApp :

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Il parametro Name specifica il nome dell'app Web.
  • Il parametro AppServicePlan specifica il servizio app Nome piano.
  • Il parametro Location consente di specificare la posizione.
  • Il parametro ResourceGroupName specifica il nome del gruppo di risorse.
  • Il parametro ContainerImageName specifica un nome immagine contenitore e un tag facoltativo.

Il completamento del comando potrebbe richiedere alcuni minuti.

5 - Passare all'app

Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net.

Screenshot del servizio app di Windows con la messaggistica che i contenitori senza una porta esposta verranno eseguiti in modalità in background.

6 - Pulire le risorse

Rimuovere il gruppo di risorse usando il comando Remove-AzResourceGroup :

Remove-AzResourceGroup myResourceGroup

Passaggi successivi

L'avvio rapido è stato completato correttamente.

L'app servizio app esegue il pull dal registro contenitori ogni volta che viene avviata. Se si ricompila l'immagine, è sufficiente eseguirne il push nel registro contenitori e l'app esegue il pull nell'immagine aggiornata al riavvio. Per indicare all'app di eseguire immediatamente il pull dell'immagine aggiornata, riavviarla.

Il servizio app di Azure offre stack di applicazioni predefiniti in Windows, ad esempio ASP.NET o Node.js, eseguiti in IIS. Tuttavia, gli stack di applicazioni preconfigurato bloccano il sistema operativo e impediscono l'accesso di basso livello. I contenitori windows personalizzati non hanno queste restrizioni e consentono agli sviluppatori di personalizzare completamente i contenitori e concedere alle applicazioni in contenitori l'accesso completo alle funzionalità di Windows.

Questa guida introduttiva illustra come distribuire un'app ASP.NET in un'immagine di Windows da Registro artefatti Microsoft al servizio app Azure.

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

1 - Connessione in Azure

Accedere all'account Azure usando il az login comando e seguendo il prompt:

az login

2 - Creare un gruppo di risorse

Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali. Per visualizzare tutte le località supportate per il servizio app, eseguire il comando az appservice list-locations.

az group create --name myResourceGroup --location eastus

3 - Creare il piano di servizio app

Creare un piano servizio app nel gruppo di risorse con il az appservice plan create comando .

L'esempio seguente crea un piano servizio app denominato myAppServicePlan nel piano tariffario P1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Nota

Se si verifica l'errore "Il comportamento di questo comando è stato modificato dall'estensione seguente: appservice-kube" rimuovere l'estensione appservice-kube .

4 - Creare l'app Web

Creare un'app Web contenitore personalizzata nel myAppServicePlan piano di servizio app con il comando az webapp create. Non dimenticare di sostituire myContainerApp con un nome univoco dell'app (i caratteri validi sono a-z, 0-9e -).

az webapp create --name myContainerApp --plan myAppServicePlan --location eastus --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Il parametro Name specifica il nome dell'app Web.
  • Il parametro AppServicePlan specifica il servizio app Nome piano.
  • Il parametro Location consente di specificare la posizione.
  • Il parametro ResourceGroupName specifica il nome del gruppo di risorse.
  • Il parametro deployment-container-image-name specifica un nome di immagine del contenitore e un tag facoltativo.

5 - Passare all'app

Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net.

Screenshot del servizio app di Windows con la messaggistica che i contenitori senza una porta esposta verranno eseguiti in modalità in background.

6 - Pulire le risorse

Rimuovere il gruppo di risorse usando il comando az group delete :

az group delete --no-wait --name <resource_group>

Passaggi successivi

L'avvio rapido è stato completato correttamente.

L'app servizio app esegue il pull dal registro contenitori ogni volta che viene avviata. Se si ricompila l'immagine, è sufficiente eseguirne il push nel registro contenitori e l'app esegue il pull nell'immagine aggiornata al riavvio. Per indicare all'app di eseguire immediatamente il pull dell'immagine aggiornata, riavviarla.