Avvio rapido: distribuire un’istanza di contenitore in Azure con Azure PowerShell
Istanze di Azure Container consente di eseguire i contenitori Docker serverless in Azure in modo semplice e rapido. Distribuire un'applicazione in un'istanza di contenitore su richiesta quando non è necessaria una piattaforma di orchestrazione di contenitori completa come il servizio Azure Kubernetes.
In questo avvio rapido viene usato Azure PowerShell per distribuire un contenitore Windows Isolato e renderlo disponibile con un nome di dominio completo (FQDN) e una porta. Pochi secondi dopo aver eseguito un singolo comando di distribuzione, è possibile passare all'applicazione in esecuzione nel contenitore:
![App distribuita in Istanze di Azure Container visualizzata nel browser][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Premere Invio per eseguire il codice o il comando.
Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario il modulo Azure PowerShell. Eseguire Get-Module -ListAvailable Az
per trovare la versione. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount
per creare una connessione con Azure.
Creare un gruppo di risorse
Le Istanze di Azure Container, analogamente a tutte le risorse di Azure, devono essere distribuite in un gruppo di risorse. I gruppi di risorse consentono di organizzare e gestire le risorse di Azure correlate.
Per iniziare, creare un gruppo di risorse denominato myResourceGroup nell'area eastus con il comando New-AzResourceGroup seguente:
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Creare una porta per l’istanza del contenitore
È possibile esporre i contenitori in Internet specificando una o più porte da aprire, un'etichetta del nome DNS o entrambi. In questo avvio rapido, viene distribuito un contenitore con un’etichetta del nome DNS in modo che sia raggiungibile pubblicamente. In questa guida vengono eseguite entrambe le operazioni, ma prima è necessario creare un oggetto porta in PowerShell per l'istanza del contenitore da usare.
$port = New-AzContainerInstancePortObject -Port 80 -Protocol TCP
Creare un gruppo di contenitori
Dopo aver creato un gruppo di risorse e una porta, è possibile eseguire un contenitore esposto a Internet in Azure. Per creare un'istanza del contenitore con Azure PowerShell, è prima necessario creare un ContainerInstanceObject
specificando un nome, un'immagine e una porta per il contenitore. In questo argomento di avvio rapido viene usata l'immagine mcr.microsoft.com/azuredocs/aci-helloworld
pubblica.
New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)
Usare quindi il cmdlet New-AzContainerGroup. È necessario specificare un nome per il gruppo di contenitori, il nome del gruppo di risorse, un percorso per il gruppo di contenitori, l’istanza del contenitore creata, il tipo di sistema operativo e un'etichetta del nome DNS dell'indirizzo IP univoca.
Per avviare un'istanza di contenitore, eseguire un comando simile al seguente. Impostare un valore di -IPAddressDnsNameLabel
univoco all'interno dell'area di Azure in cui si crea l'istanza. Se si riceve il messaggio di errore "L'etichetta del nome DNS non è disponibile", provare con un'etichetta del nome DNS diversa.
$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)
Entro pochi secondi si dovrebbe ricevere una risposta da Azure. Inizialmente, il valore ProvisioningState
del contenitore è Creazione in corso, ma dovrebbe passare a Operazione completata entro un minuto o due. Controllare lo stato di distribuzione con il cmdlet Get-AzContainerGroup:
Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
È anche possibile stampare l'oggetto $containerGroup e filtrare la tabella per lo stato di provisioning del contenitore, il nome di dominio completo (FQDN) e l’indirizzo IP.
$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP
Lo stato di provisioning, il nome di dominio completo (FQDN) e l’indirizzo IP del contenitore vengono visualizzati nell’output del cmdlet:
PS Azure:\> Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
ResourceGroupName : myResourceGroup
Id : /subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup
Name : myContainerGroup
Type : Microsoft.ContainerInstance/containerGroups
Location : eastus
Tags :
ProvisioningState : Creating
Containers : {myContainer}
ImageRegistryCredentials :
RestartPolicy : Always
IpAddress : 52.226.19.87
DnsNameLabel : aci-demo-win
Fqdn : aci-demo-win.eastus.azurecontainer.io
Ports : {80}
OsType : Windows
Volumes :
State : Pending
Events : {}
Se il valore ProvisioningState
del contenitore è Operazione completata, passare al relativo indirizzo FQDN nel browser. Se viene visualizzata una pagina Web simile all'immagine seguente, congratulazioni! È stata completata la distribuzione di un'applicazione in esecuzione in un contenitore Docker in Azure.
![Visualizzare un’app distribuita in Istanze di Azure Container nel browser][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Pulire le risorse
Quando il contenitore non è più necessario, rimuoverlo con il cmdlet Remove-AzContainerGroup:
Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Passaggi successivi
In questa guida introduttiva è stata creata un'istanza di contenitore di Azure da un'immagine nel registro nell'hub Docker pubblico. Per provare a creare un'immagine del contenitore e a distribuirla da un Registro Azure Container privato, passare all'esercitazione su Istanze di Azure Container.