Creare una VM con DockerCreate a VM with Docker

Questo script crea una macchina virtuale con Docker abilitato e avvia un contenitore Docker che esegue NGINX.This script creates a virtual machine with Docker enabled and starts a Docker container running NGINX. Dopo aver eseguito lo script, è possibile accedere al server Web NGINX tramite il nome di dominio completo della macchina virtuale di Azure.After running the script, you can access the NGINX web server through the FQDN of the Azure virtual machine.

Per eseguire questo esempio, verificare di aver installato l'ultima versione dell'interfaccia della riga di comando di Azure 2.0.To run this sample, make sure you have installed the latest Azure CLI 2.0. Per iniziare, eseguire az login per creare una connessione con Azure.To start, run az login to create a connection with Azure.

Questo esempio funziona in una shell Bash.This sample works in a Bash shell. Per le opzioni sull'esecuzione di script dell'interfaccia della riga di comando di Azure nel client Windows, vedere Running the Azure CLI in Windows (Esecuzione dell'interfaccia della riga di comando di Azure in Windows).For options on running Azure CLI scripts on Windows client, see Running the Azure CLI in Windows.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Script di esempioSample script

#!/bin/bash

# Create a resource group.
az group create --name myResourceGroup --location westeurope

# Create a new virtual machine, this creates SSH keys if not present.
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --generate-ssh-keys

# Open port 80 to allow web traffic to host.
  az vm open-port --port 80 --resource-group myResourceGroup --name myVM

# Install Docker and start container.
az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DockerExtension \
  --publisher Microsoft.Azure.Extensions \
  --version 1.1 \
  --settings '{"docker": {"port": "2375"},"compose": {"web": {"image": "nginx","ports": ["80:80"]}}}'

Pulire la distribuzioneClean up deployment

Eseguire questo comando per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate.Run the following command to remove the resource group, VM, and all related resources.

az group delete --name myResourceGroup

Spiegazione dello scriptScript explanation

Questo script usa i comandi seguenti per creare la distribuzione.This script uses the following commands to create the deployment. Ogni elemento della tabella include collegamenti alla documentazione specifica del comando.Each item in the table links to command specific documentation.

ComandoCommand NoteNotes
az group createaz group create Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.Creates a resource group in which all resources are stored.
az vm createaz vm create Consente di creare la macchina virtuale e la connette alla scheda di rete, alla rete virtuale, alla subnet e al gruppo di sicurezza di rete.Creates the virtual machine and connects it to the network card, virtual network, subnet, and network security group. Questo comando specifica anche l'immagine della macchina virtuale da usare e le credenziali di amministrazione.This command also specifies the virtual machine image to be used, and administrative credentials.
az vm open-portaz vm open-port Consente di creare una regola del gruppo di sicurezza di rete per consentire il traffico in ingresso.Creates a network security group rule to allow inbound traffic. In questo esempio, la porta 80 è aperta al traffico HTTP.In this sample, port 80 is opened for HTTP traffic.
azure vm extension setazure vm extension set Consente di aggiungere ed eseguire un'estensione di macchina virtuale in una VM.Adds and runs a virtual machine extension to a VM. In questo esempio, l'estensione di VM Docker viene usata per configurare un host Docker.In this sample, the Docker VM extension is used to configure a Docker host.
az group deleteaz group delete Consente di eliminare un gruppo di risorse incluse tutte le risorse annidate.Deletes a resource group, including all nested resources.

Passaggi successiviNext steps

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.For more information on the Azure CLI, see Azure CLI documentation.

Altri esempi di script dell'interfaccia della riga di comando della macchina virtuale sono reperibili nella documentazione della VM Linux di Azure.Additional virtual machine CLI script samples can be found in the Azure Linux VM documentation.