Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare Istanze di Azure Container per eseguire contenitori Docker serverless in Azure con semplicità e velocità. Distribuire a richiesta un'applicazione in un'istanza container quando non hai bisogno di una piattaforma completa di orchestrazione di contenitori come Azure Kubernetes Service.
In questa guida rapida, si usa Azure PowerShell per distribuire un contenitore Windows isolato e renderlo disponibile con un nome di dominio completo (FQDN) e una porta. Alcuni secondi dopo l'esecuzione di un singolo comando di distribuzione, è possibile passare all'applicazione in esecuzione nel contenitore:
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Annotazioni
È 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 il modulo 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, come 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.
Creare prima di tutto un gruppo di risorse denominato myResourceGroup nella posizione eastus con il comando New-AzResourceGroup seguente:
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Crea una porta per l'istanza del contenitore
È possibile esporre i contenitori a Internet specificando una o più porte da aprire, un'etichetta del nome DNS o entrambe. In questa guida introduttiva distribuirai un contenitore con un'etichetta del nome host 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
Ora che si dispone di un gruppo di risorse e di una porta, è possibile eseguire un contenitore esposto a Internet in Azure. Per creare un'istanza del contenitore con Azure PowerShell, è prima necessario creare un oggetto specificando un nome, un'immagine ContainerInstanceObject e una porta per il contenitore. In questa guida introduttiva, utilizzerai l'immagine pubblica mcr.microsoft.com/azuredocs/aci-helloworld.
$containerInstance = 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 univoco.
Eseguire un comando simile al seguente per avviare un'istanza del contenitore. Impostare un -IPAddressDnsNameLabel valore univoco all'interno dell'area di Azure in cui si crea l'istanza. Se viene visualizzato un messaggio di errore "Etichetta del nome DNS non disponibile", provare un'etichetta del nome DNS diversa.
$containerGroup = New-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container $containerInstance -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPorts @($port)
Per rendere il gruppo di contenitori a livello di zona, utilizzare l'argomento -Zone e specificare il numero di zona logica:
$containerGroup = New-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPorts @($port) -Zone 1
Importante
I gruppi di contenitori di zona sono disponibili solo nelle aree che supportano le zone di disponibilità. Per verificare se l'area supporta le zone di disponibilità, vedere Elenco di aree di Azure.
Entro pochi secondi, si dovrebbe ricevere una risposta da Azure. Il contenitore ProvisioningState è inizialmente in fase di Creazione, ma dovrebbe passare a Riuscito entro un minuto o due. Controllare lo stato della 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 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 contenitore ProvisioningState è Succeeded, vai al relativo FQDN nel browser. Se viene visualizzata una pagina Web simile alla seguente, congratulazioni! È stata distribuita correttamente un'applicazione in esecuzione in un contenitore Docker in Azure.
Pulire le risorse
Al termine dell'operazione con il contenitore, 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. Se si vuole creare un'immagine del contenitore e distribuirla da un registro contenitori privato di Azure, procedere con il tutorial su Azure Container Instances.
Esercitazione sulle istanze di Azure Container