共用方式為


使用 Azure CLI 尋找 Azure Marketplace 映像資訊

警告

本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

適用於:✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集

本主題描述如何在 Azure Marketplace 中使用 Azure CLI 尋找 VM 映像。 當您使用 CLI、Resource Manager 範本或其他工具以程式設計方式建立 VM 時,使用此資訊來指定 Marketplace 映像。

您也可以使用 Azure MarketplaceAzure PowerShell 來瀏覽可用的映像和供應項目。

詞彙

Azure 中的 Marketplace 映像具有下列屬性:

  • 發行者:建立映像的組織。 範例:Canonical、RedHat、SUSE。
  • 供應項目:發行者所建立之一組相關映像的名稱。 範例:0001-com-ubuntu-server-jammy、RHEL、sles-15-sp3。
  • SKU:供應項目執行個體,例如主要發佈版本。 範例:22_04-lts-gen2、8-lvm-gen2、gen2。
  • 版本:映像 SKU 的版本號碼。

這些值可以個別傳遞或以映像 URN 的形式傳遞,結合以冒號 (:) 分隔的值。 例如:Publisher:Offer:Sku:Version。 您可以以 latest 取代 URN 中的版本號碼,以取得最新版的映像。

如果映像發行者提供額外的授權和購買條款,則您必須接受這些條款才能使用映像。 如需詳細資訊,請參閱檢查購買方案資訊

您可以執行 az vm image list --all 以查看可用的所有映像,但可能需要幾分鐘的時間才能產生完整清單。 較快的選項是使用 az vm image list (而非 --all 選項),以查看 Azure Marketplace 的常用 VM 映像清單。 例如,執行下列命令,以資料表格式顯示常用映像的快取清單:

az vm image list --output table

輸出包含映像 URN。 如果省略 --all 選項,即可查看每個映像的 UrnAlias (如有的話)。 UrnAlias 是為 Ubuntu2204 等常用映射所建立的簡短版。 此指令輸出的 Linux 映像別名名稱及其詳細資料如下:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                                CentOS85Gen2             latest
x64             Debian11                      Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                       Debian-11                latest
x64             flatcar-container-linux-free  kinvolk                 stable-gen2                         kinvolk:flatcar-container-linux-free:stable-gen2:latest                         FlatcarLinuxFreeGen2     latest
x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                             OpenSuseLeap154Gen2      latest
x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                   RHELRaw8LVMGen2          latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                    Ubuntu2204               latest

此指令輸出的 Windows 映像別名稱及其詳細資料如下:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Alias                    Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ -----------------------  ---------
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                    Win2022Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore   latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                    Win2019Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                    Win2016Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                 Win2012R2Datacenter       latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                    Win2012Datacenter         latest

尋找特定映像

您可以依 --publisher 或另一個參數來篩選映像清單,以限制結果。

例如,下列命令會顯示所有 Debian 供應項目:

az vm image list --offer Debian --all --output table

您可以藉由新增 --architecture 參數,將結果限制為單一架構。 例如,若要顯示 Canonical 提供的所有 Arm64 映像:

az vm image list --architecture Arm64 --publisher Canonical --all --output table

查看所有可用的映像

要在位置中找到映像的另一個方法是在序列中執行 az vm image list-publishersaz vm image list-offersaz vm image list-skus 命令。 您可以使用這些命令來判斷下列的值:

  1. 列出某個位置的映像發行者。 在此範例中,我們會查看美國西部區域。

    az vm image list-publishers --location westus --output table
    
  2. 針對指定的發行者,列出其供應項目。 在此範例中,我們會將 RedHat 新增為發行者。

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. 針對指定的供應項目,列出其 SKU。 在此範例中,我們會將 RHEL 新增為供應項目。

    az vm image list-skus --location westus --publisher RedHat --offer RHEL --output table
    

注意

Canonical 已變更它們用於最新版本的供應項目名稱。 在 Ubuntu 20.04之前,供應項目名稱為 UbuntuServer。 對於 Ubuntu 20.04,供應項目名稱是 0001-com-ubuntu-server-focal,而 Ubuntu22.04 則為 0001-com-ubuntu-server-jammy

  1. 針對指定的發行者、供應項目和 SKU,顯示映像的所有版本。 在此範例中,我們會將 9_1 新增為 SKU。

    az vm image list \
        --location westus \
        --publisher RedHat \
        --offer RHEL \
        --sku 9_1 \
        --all --output table
    

使用 az vm create 命令建立 VM 時,請傳遞 URN 資料行的值與 --image 參數。 您也可以使用 "latest" 取代 URN 中的版本號碼,以使用最新版的映像。

如果您使用 Resource Manager 範本來部署 VM,請在 imageReference 屬性中個別設定映像參數。 請參閱範本參考

檢查購買方案資訊

Azure Marketplace 中的某些 VM 映像有額外的授權和購買條款,您必須先接受這些條款,才能以程式設計方式部署這些映像。

若要從這類映像部署 VM,您必須在初次使用映像時接受映像的條款,每個訂用帳戶都要接受一次。 您也需要指定購買方案參數,以從該映像部署 VM

若要檢視映像的購買方案資訊,請使用映像的 URN 執行 az vm image show 命令。 如果輸出中的 plan 屬性不是 null,在以程式設計方式部署之前,必須接受映像包含的條款。

例如,Canonical Ubuntu Server 18.04 LTS 映像沒有額外條款,因為 plan 資訊為 null

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

輸出:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

針對 RabbitMQ Certified by Bitnami 映像執行類似的命令會顯示下列 plan 屬性:nameproductpublisher。 (某些映像也有 promotion code 屬性。)

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

輸出:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

若要部署此映像,您必須接受條款,並在使用該映像部署 VM 時提供購買方案參數。

接受條款

若要檢視並接受授權條款,請使用 az vm image terms 命令。 當您接受條款時,您會在訂用帳戶中啟用以程式設計方式部署。 您只需針對映像的每個訂用帳戶接受一次條款。 例如:

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

輸出會包含授權條款的 licenseTextLink,並指出 accepted 的值為 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": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

若要接受條款,請輸入:

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

使用映像參數部署新的 VM

使用映像的相關資訊,您可以使用 az vm create 命令加以部署。

若要部署沒有計劃資訊的映像 (例如來自 Canonical 的最新 Ubuntu Server 18.04 映像),請傳遞 --image 的 URN:

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest

若是有購買方案參數的映像 (如 RabbitMQ Certified by Bitnami 映像),您可以傳遞 --image URN,並提供購買方案參數:

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

如果您收到接受映像條款的相關訊息,請檢閱接受條款一節。 請確定 az vm image accept-terms 的輸出會傳回 "accepted": true, 值,顯示您已接受映像的條款。

搭配購買方案資訊使用現有的 VHD

如果您有使用付費 Azure Marketplace 映像建立的虛擬機器的現有 VHD,從該 VHD 建立新的虛擬機器時,可能需要提供購買方案資訊。

如果您仍然擁有原始 VM 或使用相同市集映像建立的另一個 VM,可使用 az vm get-instance-view 從中取得方案名稱、發行者和產品資訊。 此範例會在 myResourceGroup 資源群組中取得名為 myVM 的 VM,然後顯示購買方案資訊。

az vm get-instance-view -g myResourceGroup -n myVM --query plan

如果您在刪除原始 VM 之前未取得方案資訊,您可以提出支援要求。 他們需要 VM 名稱、訂用帳戶識別碼和刪除作業的時間戳記。

擁有方案資訊之後,您可以使用 參數來建立新的 VM --attach-os-disk ,以指定 VHD。

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct

下一步

若要使用映像資訊來快速建立虛擬機器,請參閱使用 Azure CLI 來建立和管理 Linux VM