title | description | services | documentationcenter | author | manager | editor | tags | ms.assetid | ms.service | ms.devlang | ms.topic | ms.tgt_pltfrm | ms.workload | ms.date | ms.author | ms.custom |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Select Linux VM images with the Azure CLI | Microsoft Docs |
Learn how to use the Azure CLI to determine the publisher, offer, SKU, and version for Marketplace VM images. |
virtual-machines-linux |
dlepow |
jeconnoc |
azure-resource-manager |
7a858e38-4f17-4e8e-a28a-c7f801101721 |
virtual-machines-linux |
azurecli |
article |
vm-linux |
infrastructure |
09/28/2018 |
danlep |
H1Hack27Feb2017 |
This topic describes how to use the Azure CLI to find VM images in the Azure Marketplace. Use this information to specify a Marketplace image when you create a VM programmatically with the CLI, Resource Manager templates, or other tools.
Also browse available images and offers using the Azure Marketplace storefront, the Azure portal, or Azure PowerShell.
Make sure that you installed the latest Azure CLI and are logged in to an Azure account (az login
).
[!INCLUDE virtual-machines-common-image-terms]
Run the az vm image list command, without the --all
option, to see a list of popular VM images in the Azure Marketplace. For example, run the following command to display a cached list of popular images in table format:
az vm image list --output table
The output includes the image URN (the value in the Urn column). When creating a VM with one of these popular Marketplace images, you can alternatively specify the UrnAlias, a shortened form such as UbuntuLTS.
You are viewing an offline list of images, use --all to retrieve an up-to-date list
Offer Publisher Sku Urn UrnAlias Version
------------- ---------------------- ------------------ -------------------------------------------------------------- ------------------- ---------
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:latest CentOS latest
CoreOS CoreOS Stable CoreOS:CoreOS:Stable:latest CoreOS latest
Debian credativ 8 credativ:Debian:8:latest Debian latest
openSUSE-Leap SUSE 42.3 SUSE:openSUSE-Leap:42.3:latest openSUSE-Leap latest
RHEL RedHat 7.3 RedHat:RHEL:7.3:latest RHEL latest
SLES SUSE 12-SP2 SUSE:SLES:12-SP2:latest SLES latest
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:latest UbuntuLTS latest
...
To find a specific VM image in the Marketplace, use the az vm image list
command with the --all
option. This version of the command takes some time to complete and can return lengthy output, so you usually filter the list by --publisher
or another parameter.
For example, the following command displays all Debian offers (remember that without the --all
switch, it only searches the local cache of common images):
az vm image list --offer Debian --all --output table
Partial output:
Offer Publisher Sku Urn Version
------- ----------- ----------------- ----------------------------------------------- --------------
...
Debian credativ 7 credativ:Debian:7:7.0.201602010 7.0.201602010
Debian credativ 7 credativ:Debian:7:7.0.201603020 7.0.201603020
Debian credativ 7 credativ:Debian:7:7.0.201604050 7.0.201604050
Debian credativ 7 credativ:Debian:7:7.0.201604200 7.0.201604200
Debian credativ 7 credativ:Debian:7:7.0.201606280 7.0.201606280
Debian credativ 7 credativ:Debian:7:7.0.201609120 7.0.201609120
Debian credativ 7 credativ:Debian:7:7.0.201611020 7.0.201611020
Debian credativ 8 credativ:Debian:8:8.0.201602010 8.0.201602010
Debian credativ 8 credativ:Debian:8:8.0.201603020 8.0.201603020
Debian credativ 8 credativ:Debian:8:8.0.201604050 8.0.201604050
Debian credativ 8 credativ:Debian:8:8.0.201604200 8.0.201604200
Debian credativ 8 credativ:Debian:8:8.0.201606280 8.0.201606280
Debian credativ 8 credativ:Debian:8:8.0.201609120 8.0.201609120
Debian credativ 8 credativ:Debian:8:8.0.201611020 8.0.201611020
Debian credativ 8 credativ:Debian:8:8.0.201701180 8.0.201701180
Debian credativ 8 credativ:Debian:8:8.0.201703150 8.0.201703150
Debian credativ 8 credativ:Debian:8:8.0.201704110 8.0.201704110
Debian credativ 8 credativ:Debian:8:8.0.201704180 8.0.201704180
Debian credativ 8 credativ:Debian:8:8.0.201706190 8.0.201706190
Debian credativ 8 credativ:Debian:8:8.0.201706210 8.0.201706210
Debian credativ 8 credativ:Debian:8:8.0.201708040 8.0.201708040
...
Apply similar filters with the --location
, --publisher
, and --sku
options. You can perform partial matches on a filter, such as searching for --offer Deb
to find all Debian images.
If you don't specify a particular location with the --location
option, the values for the default location are returned. (Set a different default location by running az configure --defaults location=<location>
.)
For example, the following command lists all Debian 8 SKUs in the West Europe location:
az vm image list --location westeurope --offer Deb --publisher credativ --sku 8 --all --output table
Partial output:
Offer Publisher Sku Urn Version
------- ----------- ----------------- ----------------------------------------------- -------------
Debian credativ 8 credativ:Debian:8:8.0.201602010 8.0.201602010
Debian credativ 8 credativ:Debian:8:8.0.201603020 8.0.201603020
Debian credativ 8 credativ:Debian:8:8.0.201604050 8.0.201604050
Debian credativ 8 credativ:Debian:8:8.0.201604200 8.0.201604200
Debian credativ 8 credativ:Debian:8:8.0.201606280 8.0.201606280
Debian credativ 8 credativ:Debian:8:8.0.201609120 8.0.201609120
Debian credativ 8 credativ:Debian:8:8.0.201611020 8.0.201611020
Debian credativ 8 credativ:Debian:8:8.0.201701180 8.0.201701180
Debian credativ 8 credativ:Debian:8:8.0.201703150 8.0.201703150
Debian credativ 8 credativ:Debian:8:8.0.201704110 8.0.201704110
Debian credativ 8 credativ:Debian:8:8.0.201704180 8.0.201704180
Debian credativ 8 credativ:Debian:8:8.0.201706190 8.0.201706190
Debian credativ 8 credativ:Debian:8:8.0.201706210 8.0.201706210
...
Another way to find an image in a location is to run the az vm image list-publishers, az vm image list-offers, and az vm image list-skus commands in sequence. With these commands, you determine these values:
- List the image publishers.
- For a given publisher, list their offers.
- For a given offer, list their SKUs.
Then, for a selected SKU, you can choose a version to deploy.
For example, the following command lists the image publishers in the West US location:
az vm image list-publishers --location westus --output table
Partial output:
Location Name
---------- ----------------------------------------------------
westus 128technology
westus 1e
westus 4psa
westus 5nine-software-inc
westus 7isolutions
westus a10networks
westus abiquo
westus accellion
westus accessdata-group
westus accops
westus Acronis
westus Acronis.Backup
westus actian-corp
westus actian_matrix
westus actifio
westus activeeon
westus advantech-webaccess
westus aerospike
westus affinio
westus aiscaler-cache-control-ddos-and-url-rewriting-
westus akamai-technologies
westus akumina
...
Use this information to find offers from a specific publisher. For example, for the Canonical publisher in the West US location, find offers by running azure vm image list-offers
. Pass the location and the publisher as in the following example:
az vm image list-offers --location westus --publisher Canonical --output table
Output:
Location Name
---------- -------------------------
westus Ubuntu15.04Snappy
westus Ubuntu15.04SnappyDocker
westus UbunturollingSnappy
westus UbuntuServer
westus Ubuntu_Core
You see that in the West US region, Canonical publishes the UbuntuServer offer on Azure. But what SKUs? To get those values, run azure vm image list-skus
and set the location, publisher, and offer that you discovered:
az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer --output table
Output:
Location Name
---------- -----------------
westus 12.04.3-LTS
westus 12.04.4-LTS
westus 12.04.5-LTS
westus 14.04.0-LTS
westus 14.04.1-LTS
westus 14.04.2-LTS
westus 14.04.3-LTS
westus 14.04.4-LTS
westus 14.04.5-DAILY-LTS
westus 14.04.5-LTS
westus 16.04-DAILY-LTS
westus 16.04-LTS
westus 16.04.0-LTS
westus 17.10
westus 17.10-DAILY
westus 18.04-DAILY-LTS
westus 18.04-LTS
westus 18.10-DAILY
Finally, use the az vm image list
command to find a specific version of the SKU you want, for example, 16.04-LTS:
az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04-LTS --all --output table
Partial output:
Offer Publisher Sku Urn Version
------------ ----------- --------- ------------------------------------------------ ---------------
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201611220 16.04.201611220
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201611300 16.04.201611300
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201612050 16.04.201612050
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201612140 16.04.201612140
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201612210 16.04.201612210
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201701130 16.04.201701130
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201702020 16.04.201702020
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201702200 16.04.201702200
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201702210 16.04.201702210
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201702240 16.04.201702240
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201703020 16.04.201703020
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201703030 16.04.201703030
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201703070 16.04.201703070
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:16.04.201703270 16.04.201703270
...
Now you can choose precisely the image you want to use by taking note of the URN value. Pass this value with the --image
parameter when you create a VM with the az vm create command. Remember that you can optionally replace the version number in the URN with "latest". This version is always the latest version of the image.
If you deploy a VM with a Resource Manager template, you set the image parameters individually in the imageReference
properties. See the template reference.
[!INCLUDE virtual-machines-common-marketplace-plan]
To view an image's purchase plan information, run the az vm image show command. If the plan
property in the output is not null
, the image has terms you need to accept before programmatic deployment.
For example, the Canonical Ubuntu Server 16.04 LTS image doesn't have additional terms, because the plan
information is null
:
az vm image show --location westus --urn Canonical:UbuntuServer:16.04-LTS:latest
Output:
{
"dataDiskImages": [],
"id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/16.04-LTS/Versions/16.04.201801260",
"location": "westus",
"name": "16.04.201809120",
"osDiskImage": {
"operatingSystem": "Linux"
},
"plan": null,
"tags": null
}
Running a similar command for the RabbitMQ Certified by Bitnami image shows the following plan
properties: name
, product
, and publisher
. (Some images also have a promotion code
property.) To deploy this image, see the following sections to accept the terms and enable programmatic deployment.
az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest
Output:
{
"dataDiskImages": [],
"id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1807171506",
"location": "westus",
"name": "3.7.1809211005",
"osDiskImage": {
"operatingSystem": "Linux"
},
"plan": {
"name": "rabbitmq",
"product": "rabbitmq",
"publisher": "bitnami"
},
"tags": null
}
To view and accept the license terms, use the az vm image accept-terms command. When you accept the terms, you enable programmatic deployment in your subscription. You only need to accept terms once per subscription for the image. For example:
az vm image accept-terms --urn bitnami:rabbitmq:rabbitmq:latest
The output includes a licenseTextLink
to the license terms, and indicates that the value of accepted
is true
:
{
"accepted": true,
"additionalProperties": {},
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
"licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
"name": "rabbitmq",
"plan": "rabbitmq",
"privacyPolicyLink": "https://bitnami.com/privacy",
"product": "rabbitmq",
"publisher": "bitnami",
"retrieveDatetime": "2018-02-22T04:06:28.7641907Z",
"signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
"type": "Microsoft.MarketplaceOrdering/offertypes"
}
After accepting the terms for the image, you can deploy a VM in the subscription. To deploy the image by using the az vm create
command, provide parameters for the purchase plan in addition to a URN for the image. For example, to deploy a VM with the RabbitMQ Certified by Bitnami image:
az group create --name myResourceGroupVM --location westus
az vm create --resource-group myResourceGroupVM --name myVM --image bitnami:rabbitmq:rabbitmq:latest --plan-name rabbitmq --plan-product rabbitmq --plan-publisher bitnami
To create a virtual machine quickly by using the image information, see Create and Manage Linux VMs with the Azure CLI.