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:
Aprire Visual Studio e selezionare Crea un nuovo progetto.
In Crea un nuovo progetto trovare e selezionare Applicazione Web ASP.NET (.NET Framework) per C#, quindi selezionare Avanti.
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.
È possibile distribuire qualsiasi tipo di app Web ASP.NET in Azure. Per questa guida di avvio rapido scegliere il modello MVC.
In Autenticazione selezionare Nessuno. In Avanzate selezionare Supporto Docker e deselezionare Configura per HTTPS. Seleziona Crea.
Se il file Dockerfile non viene aperto automaticamente, aprirlo da Esplora soluzioni.
È 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
Nel menu di Visual Studio selezionare Debug>Avvia senza eseguire debug per eseguire l'app Web in locale.
2 - Pubblicare in Registro Azure Container
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto myfirstazurewebapp e scegliere Pubblica.
In Destinazione selezionare Registro Contenitori Docker e quindi selezionare Avanti.
In Destinazione specifica selezionare Registro Azure Container e quindi selezionare Avanti.
In Pubblica verificare che sia selezionata la sottoscrizione corretta. In Registri contenitori selezionare il + pulsante per creare un nuovo Registro Azure Container.
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.
In Pubblica, in Registro Contenitori selezionare il registro creato e quindi selezionare Fine.
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.
3 - Creare un contenitore personalizzato di Windows
Accedere al portale di Azure.
Scegliere Crea una risorsa nell'angolo in alto a sinistra del portale di Azure.
In Servizi popolari selezionare Crea in App Web.
In Crea app Web scegliere la sottoscrizione e un gruppo di risorse. Se necessario, è possibile creare un nuovo gruppo di risorse.
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.
Per Origine immagine scegliere Docker Hub e immettere il nome del repository copiato in Pubblica in Registro Azure Container.
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.
Verificare tutti i dettagli e quindi selezionare Crea e attendere che Azure crei le risorse necessarie.
4 - Passare al contenitore personalizzato
Al termine dell'operazione di Azure, verrà visualizzata una casella di notifica.
Fare clic su Vai alla risorsa.
Nella panoramica di questa risorsa seguire il collegamento accanto a URL.
Si aprirà la nuova pagina del browser illustrata di seguito:
Attendere alcuni minuti e riprovare, finché non viene visualizzata la pagina iniziale di ASP.NET predefinita:
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
In Esplora soluzioni di Visual Studio aprire Visualizzazioni>Home>Index.cshtml.
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>
Per la ridistribuzione in Azure, fare clic con il pulsante destro del mouse sul progetto myfirstazurewebapp in Esplora soluzioni e scegliere Pubblica.
Nella pagina di pubblicazione selezionare Pubblica e attendere il completamento della pubblicazione.
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>Sì.
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.
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:
- Un account Azure
- Docker
- Visual Studio Code
- Estensione Servizio app di Azure per VS Code. È possibile usare questa estensione per creare, gestire e distribuire app Web Linux nella piattaforma distribuita come servizio (PaaS) di Azure.
- Estensione Docker per VS Code. È possibile usare questa estensione per semplificare la gestione delle immagini e dei comandi Docker locali e per distribuire in Azure immagini di app compilate.
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 amministratore 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
Avviare Visual Studio Code.
Selezionare il logo di Azure nella barra delle attività, passare a Esplora servizi app, quindi selezionare Accedi ad Azure e seguire le istruzioni.
Nella barra di stato nella parte inferiore verificare l'indirizzo di posta elettronica dell'account Azure. Nello strumento di esplorazione del servizio app verrà visualizzata la sottoscrizione.
Nella barra delle attività selezionare il logo Docker . Nello strumento di esplorazione REGISTRIES verificare che venga visualizzato il registro contenitori creato.
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
- 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.
Aprire il riquadro comandi e digitare Immagini Docker: Compila immagine. Digitare INVIO per eseguire il comando.
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.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.
5 - Distribuire nel registro contenitori
Nella barra delle attività fare clic sull'icona Docker . In Esplora IMMAGINI trovare l'immagine creata.
Espandere l'immagine, fare clic con il pulsante destro del mouse sul tag desiderato e scegliere Push.
Assicurarsi che il tag immagine inizi con
<acr-name>.azurecr.io
e premere INVIO.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.
6 - Eseguire la distribuzione in servizio app
- 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).
- 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:
- Azure Cosmos DB
- Funzioni di Azure
- Strumenti dell'interfaccia della riga di comando di Azure
- Strumenti di Azure Resource Manager
- Il pacchetto di estensione Strumenti di Azure include tutte le estensioni precedenti.
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 .
Accedere all'interfaccia della riga di comando di Azure.
az login
Accedere a Registro Azure Container.
az acr login -n <your_registry_name>
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 .
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.
Creazione di risorse Azure
Digitare i servizi app nella ricerca. In Servizi selezionare servizio app.
Nella pagina Servizi app selezionare + Crea.
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.
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.
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.
Selezionare il pulsante Avanti: Docker > nella parte inferiore della pagina.
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.
Selezionare quindi il pulsante Rivedi e crea nella parte inferiore della pagina.
Dopo l'esecuzione della convalida, seleziona il pulsante Create in fondo alla pagina.
Al termine della distribuzione, selezionare Vai alla risorsa.
4 - Passare all'app
Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net
.
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:
- Un account Azure
- Registro Azure Container
- Interfaccia della riga di comando di Azure
- Installare Docker per Windows
- Passare a Docker per eseguire i contenitori di Windows
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 .
Accedere all'interfaccia della riga di comando di Azure.
az login
Accedere a Registro Azure Container.
az acr login -n <your_registry_name>
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 .
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.
Creazione di risorse Azure
Digitare i servizi app nella ricerca. In Servizi selezionare servizio app.
Nella pagina Servizi app selezionare + Crea.
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.
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.
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.
Selezionare il pulsante Avanti: Docker > nella parte inferiore della pagina.
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.
Selezionare quindi il pulsante Rivedi e crea nella parte inferiore della pagina.
Dopo l'esecuzione della convalida, seleziona il pulsante Create in fondo alla pagina.
Al termine della distribuzione, selezionare Vai alla risorsa.
4 - Passare all'app
Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net
.
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:
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Azure PowerShell.
1 - Connettersi ad 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 può richiedere alcuni minuti.
5 - Passare all'app
Passare all'applicazione distribuita nel Web browser all'URL http://<app-name>.azurewebsites.net
.
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:
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Interfaccia della riga di comando di Azure
1 - Connettersi ad 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-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 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
.
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.