Condividi tramite


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.

Questo avvio rapido illustra come distribuire un'app ASP.NET in un'immagine Windows in 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
  • Impostare Docker per eseguire contenitori Windows
  • Installare Visual Studio 2022 con i carichi di lavoro Sviluppo ASP.NET e Web e Sviluppo di Azure. In Visual Studio 2022 Community verificare che il componente 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à 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 all’interno di Nome progetto, denominare l’applicazione myfirstazurewebapp. In Frameworkselezionare .NET Framework 4.8 e successivamente 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 Nessuna. In Avanzateselezionare 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 - Eseguire la pubblicazione in Registro Azure Container

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

  2. In Destinazioneselezionare Registro Contenitori Docker e successivamente Avanti.

    Screenshot della schermata Seleziona registro Contenitori Docker.

  3. In Specifica destinazione selezionare Registro Azure Container e successivamente 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 nuovoverificare che sia selezionata la sottoscrizione corretta. In Gruppo di risorse selezionare Nuovo e digitare myResourceGroup come nome quindi selezionare OK. In SKU selezionare Basic. In Percorso del registro di sistemaselezionare un percorso del registro di sistema e successivamente Crea.

    Screenshot dei dettagli di Registro Azure Container.

  6. In Pubblica, in Registro contenitori selezionare il registro creato e successivamente 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 selezionare la propria sottoscrizione e un gruppo in 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 proseguire.

    Screenshot di Creazione di un'app Web per contenitori.

  6. Per Origine immagine selezionare Docker Hub e per Immagine e tag immettere il nome del repository copiato in Eseguire la pubblicazione in Registro Azure Container.

    Screenshot di 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 + crea per continuare.

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

4 - Andare 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 - Visualizzare i log di avvio del contenitore

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

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

I log trasmessi sono simili 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 - Eseguire l'aggiornamento e la ridistribuzione in locale

  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 della panoramica del Servizio app con il pulsante Riavvia evidenziato.

Andare 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 - Eseguire la pulizia delle 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

 Proteggere con dominio personalizzato e certificato di protezione

Servizio app di Azure in Linux fornisce stack di applicazioni predefiniti in Linux con il supporto per linguaggi quali .NET, PHP, Node.js e altri ancora. È anche possibile usare un'immagine Docker personalizzata per eseguire l'app Web in uno stack di applicazioni non ancora 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

Questo avvio rapido 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 amministratore su Abilita durante la creazione del 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 ACR.

2 - Accedere

  1. Avviare Visual Studio Code.

  2. Selezionare il logo di Azure nella barra delle attività, andare allo strumento di esplorazione SERVIZIO APP, 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. Nell’explorer SERVIZIO APP verrà visualizzata la sottoscrizione.

  4. Nella barra delle attività selezionare il logo Docker. Nell’explorer REGISTRI verificare che venga visualizzato il registro contenitori creato.

    Screenshot che mostra il valore Registries con Azure espanso.

3 - Verificare 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 del Servizio app.

  1. Aprire il riquadro comandi e digitare Immagini Docker: Compila immagine. Premere 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 dell’explorer 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. Nell’explorer 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 dell’explorer REGISTRI e verificare che l'immagine venga sottoposta a push correttamente.

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

6 - Distribuire nel Servizio app

  1. Nell’explorer REGISTRI espandere l'immagine, fare clic con il pulsante destro del mouse sul tag e selezionare Distribuisci immagine nel servizio app di Azure.
  2. Seguire le istruzioni per scegliere una sottoscrizione, un nome di app univoco a livello globale, un gruppo di risorse e un piano di Servizio app. Scegliere B1 Basic come 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 del Servizio app.

7 - Esplorare 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 - Eseguire la pulizia delle 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'argomento avvio rapido è stato completato.

L'app del Servizio app esegue il pull dal registro contenitori a ogni avvio. 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.

 Proteggere con dominio personalizzato e certificato di protezione

Altre estensioni di Azure:

Servizio app di Azure in Linux fornisce stack di applicazioni predefiniti in Linux con il supporto per linguaggi quali .NET, PHP, Node.js e altri ancora. È anche possibile usare un'immagine Docker personalizzata per eseguire l'app Web in uno stack di applicazioni non ancora definito in Azure. Questo argomento di avvio rapido illustra come distribuire un'immagine da un Registro Azure Container al Servizio app di 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 delle immagini in Registro Azure Container

Assicurarsi di trovarsi 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 - Eseguire la distribuzione in Azure

Accedere al portale di Azure

Accedere al portale di Azure.

Creazione di risorse Azure

  1. Digitare Servizi app nella casella dii ricerca. In Servizi, selezionare Servizi app.

    Screenshot della ricerca di 'servizi app' nel portale di Azure.

  2. Nella pagina Servizi app selezionare + Crea.

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

    Screenshot della sezione Dettagli progetto che mostra dove selezionare 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 come Sistema operativo. Selezionare un'Area da cui si vuole gestire l'app.

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

  5. In Piano di servizio app selezionare l'opzione Crea nuovo per il piano di servizio app. Digitare myAppServicePlan per il nome. Per andare al livello Gratuito, selezionare Modifica dimensione, selezionare la scheda Sviluppo/test, quindi F1 e infine il pulsante Applica nella parte inferiore della pagina.

    Screenshot delle opzioni del piano di servizio app.

  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 l'origine immagine. Nelle opzioni di Registro Azure Container impostare i valori seguenti:

    • Registro: selezionare Registro Azure Container.
    • Immagine: selezionare dotnetcore-docs-hello-world-linux.
    • Per Tag selezionare 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 andare 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 - Eseguire la pulizia delle 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'argomento avvio rapido è stato completato.

L'app del Servizio app esegue il pull dal registro contenitori a ogni avvio. 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.

 Proteggere con dominio personalizzato e certificato di protezione

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.

Questo avvio rapido illustra come distribuire un'app ASP.NET in un'immagine di Windows da Registro Azure Container al Servizio app di 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 delle immagini in Registro Azure Container

Assicurarsi di trovarsi 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. Si assegna 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 - Eseguire la distribuzione in Azure

Accedere al portale di Azure

Accedere al portale di Azure.

Creazione di risorse Azure

  1. Digitare Servizi app nella casella dii ricerca. In Servizi, selezionare Servizi app.

    Screenshot della ricerca di 'servizi app' nel portale di Azure.

  2. Nella pagina Servizi app selezionare + Crea.

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

    Screenshot della sezione Dettagli progetto che mostra dove selezionare 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 come sistema operativo. Selezionare un'Area da cui si vuole gestire l'app.

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

  5. In Piano di servizio app selezionare l'opzione Crea nuovo per il piano di servizio app. Digitare myAppServicePlan per il nome. Per andare al livello Gratuito, selezionare Modifica dimensione, selezionare la scheda Sviluppo/test, quindi P1v3 e infine il pulsante Applica nella parte inferiore della pagina.

    Screenshot delle opzioni del piano di servizio app.

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

  7. Nella scheda Docker selezionare Registro Azure Container per l'origine immagine. Nelle opzioni di Registro Azure Container impostare i valori seguenti:

    • Registro: selezionare Registro Azure Container.
    • Immagine: selezionare dotnetcore-docs-hello-world-windows.
    • Per Tag selezionare 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 andare 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 il messaggio che i contenitori senza una porta esposta verranno eseguiti in background.

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

5 - Eseguire la pulizia delle 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'argomento avvio rapido è stato completato.

L'app del Servizio app esegue il pull dal registro contenitori a ogni avvio. 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.

 Proteggere con dominio personalizzato e certificato di protezione

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.

Questo avvio rapido illustra come distribuire un'app ASP.NET in un'immagine di Windows dal Registro artefatti Microsoft al Servizio app di Azure.

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

1 - Connettersi ad Azure

Accedere all'account Azure usando il comando Connect-AzAccount 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 di 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 Nome specifica il nome dell'app Web.
  • Il parametro AppServicePlan specifica il nome del piano di Servizio app.
  • Il parametro Posizione 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 - Andare all'app

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

Screenshot del Servizio app di Windows con il messaggio che i contenitori senza una porta esposta verranno eseguiti in background.

6 - Eseguire la pulizia delle risorse

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

Remove-AzResourceGroup myResourceGroup

Passaggi successivi

L'argomento avvio rapido è stato completato.

L'app del Servizio app esegue il pull dal registro contenitori a ogni avvio. 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.

 Proteggere con dominio personalizzato e certificato di protezione

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.

Questo avvio rapido illustra come distribuire un'app ASP.NET in un'immagine di Windows dal Registro artefatti Microsoft al Servizio app di Azure.

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

1 - Connettersi ad Azure

Accedere all'account Azure usando il comando az login 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 di Servizio app nel gruppo di risorse con il comando az appservice plan create.

L'esempio seguente crea un piano di 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 con contenitore personalizzato nel piano di Servizio app myAppServicePlan con il comando az webapp create. Non dimenticare di sostituire myContainerApp con un nome univoco per l'app (i caratteri validi sono a-z, 0-9 e -).

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 Nome specifica il nome dell'app Web.
  • Il parametro AppServicePlan specifica il nome del piano di Servizio app.
  • Il parametro Posizione 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 - Andare all'app

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

Screenshot del Servizio app di Windows con il messaggio che i contenitori senza una porta esposta verranno eseguiti in background.

6 - Eseguire la pulizia delle risorse

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

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

Passaggi successivi

L'argomento avvio rapido è stato completato.

L'app del Servizio app esegue il pull dal registro contenitori a ogni avvio. 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.

 Proteggere con dominio personalizzato e certificato di protezione