快速入門:使用 Azure PowerShell 部署 Azure 中的容器執行個體

使用 Azure 容器執行個體在 Azure 中簡潔且快速地執行無伺服器 Docker 容器。 當您不需要像 Azure Kubernetes Service 的完整容器協調流程平台時,請視需要將應用程式部署至容器執行個體。

在本快速入門中,您會使用 Azure PowerShell 來部署隔離的 Windows 容器,並使用完整功能變數名稱 (FQDN) 和埠提供其應用程式。 執行單一部署命令的幾秒之後,您可以瀏覽至容器中執行的應用程式:

![部署至瀏覽器檢視 Azure 容器執行個體 的應用程式][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

如果您選擇在本機安裝和使用 PowerShell,本教學課程需要 Azure PowerShell 模組。 執行 Get-Module -ListAvailable Az 以尋找版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果您在本機執行 PowerShell,則也需要執行 Connect-AzAccount 以建立與 Azure 的連線。

建立資源群組

Azure 容器執行個體和所有 Azure 資源相同,都必須部署到資源群組中。 資源群組可讓您組織和管理相關的 Azure 資源。

首先,使用下列 New-AzResourceGroup 命令,在 eastus 位置中建立名為 myResourceGroup 的資源群組:

New-AzResourceGroup -Name myResourceGroup -Location EastUS

建立容器實例的埠

您可以指定一或多個要開啟的連接埠和 (或) DNS 名稱標籤,以將您的容器公開至網際網路。 在本快速入門中,您會部署具有 DNS 名稱標籤的容器,使其可供公開存取。 在本指南中,我們將執行這兩個動作,但首先,您必須在PowerShell中建立埠物件,以供容器實例使用。

$port = New-AzContainerInstancePortOject -Port 80 -Protocol TCP

建立容器群組

現在您已擁有資源群組和埠,您可以執行在 Azure 中公開至因特網的容器。 若要使用 Azure PowerShell 建立容器實例,您必須先提供容器的名稱、映像和埠來建立 ContainerInstanceObject 。 在此快速入門中,您可以使用公用 mcr.microsoft.com/azuredocs/aci-helloworld 映像。

New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)

接下來,使用 New-AzContainerGroup Cmdlet。 您必須提供容器群組的名稱、資源組名、容器群組的位置、您剛才建立的容器實例、操作系統類型,以及唯一的IP位址 DNS 名稱標籤。

執行和下列類似的命令,以啟動容器執行個體。 設定 -IPAddressDnsNameLabel 值,其在您建立執行個體所在的 Azure 區域中必須是唯一的。 如果出現「DNS 名稱標籤無法使用」錯誤訊息,請嘗試使用不同的 DNS 名稱標籤。

$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)

在幾秒內,您應該會從 Azure 收到回應。 一開始,容器會 ProvisioningState 會處於 [建立中] 狀態,但應該會在一兩分鐘內變成 [成功]。 請使用 Get-AzContainerGroup Cmdlet 來查看部署狀態:

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

您也可以列印出$containerGroup物件,並篩選容器布建狀態、完整域名 (FQDN) 和 IP 位址的數據表。

$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP

容器的布建狀態、FQDN 和IP位址會出現在 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                   : {}

如果容器成功ProvisioningState,請移至瀏覽器中的 FQDN。 如果您看到如下的網頁,恭喜您! 您已將 Docker 容器中執行的應用程式成功部署至 Azure。

![在瀏覽器中檢視部署至 Azure 容器執行個體 的應用程式][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

清除資源

當容器使用完畢後,請使用 Remove-AzContainerGroup Cmdlet 加以移除:

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

下一步

在本快速入門中,您已透過來自公用 Docker Hub 登錄中的映像建立 Azure 容器執行個體。 如果您想要建置容器映像,並從私人的 Azure 容器登錄進行部署,請繼續進行 Azure Container Instances 教學課程。