練習 - 將 Docker 映像部署至 Azure 容器執行個體
Azure 容器執行個體可讓您在 Azure 中執行 Docker 映像。
在上一個練習中,您已將 Web 應用程式封裝為本機 Docker 映像並加以測試。 現在,您想要使用該練習的輸出,並讓 Web 應用程式可供全域使用。 為了實現此可用性,您可以 Azure 容器執行個體的形式執行映像。
在本練習中,您會了解如何重建 Web 應用程式的映像,並將其上傳至 Azure Container Registry。 您會使用 Azure 容器執行個體服務執行此映像。
重要
您必須有自己的 Azure 訂用帳戶才能執行本練習,且可能會產生費用。 如果您還沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
建立容器登錄
使用您的 Azure 訂用帳戶登入 Azure 入口網站。
在資源功能表或 [首頁] 頁面,選取 [建立資源]。 [建立資源] 窗格隨即會顯示。
在功能表中,選取 [容器],然後選取 [容器登錄].
[建立容器登錄] 窗格隨即出現。
在 [基本] 索引標籤上,為每個設定輸入下列值。
設定 值 專案詳細資料 訂用帳戶 選取您可以在其中建立和管理資源的 Azure 訂用帳戶。 資源群組 選取 [建立] 名稱為 learn-deploy-container-aci-rg 的新資源群組。 記住您選取的名稱;您會在本課程模組的其餘練習中用到。 此外,當您完成本課程模組時,請記得清除此資源。 [執行個體詳細資料] 登錄名稱 輸入您選擇的名稱。 登錄名稱在 Azure 內必須是唯一的,且包含 5-50 個英數字元。 Location 選擇接近您的位置。 使用可用性區域 接受預設值。 定價方案 標準 選取 [檢閱 + 建立]。 當 [通過驗證] 通知出現時,請選取 [建立]。 請等容器登錄部署後,再繼續操作。
選取 [前往資源] 。 [容器登錄] 窗格會顯示容器登錄的基本資訊。
在資源功能表的 [設定] 底下,選取 [存取金鑰]。 容器登錄的 [存取金鑰] 窗格隨即出現。
如果 [管理使用者] 設定已停用,請選取 [管理使用者] 存取金鑰旁的方塊。 容器登錄的 [使用者名稱] 和密碼隨即出現。
請記下容器登錄的登錄名稱、登入伺服器、使用者名稱和密碼。
注意
在此練習中,我們會啟用系統管理員帳戶存取權,以便能夠上傳映像並測試登錄。 在生產環境中,請務必停用 [管理使用者] 帳戶存取權,並在滿意登錄的運作符合預期時立即使用 Microsoft Entra ID Protection。
將旅館訂房系統應用程式的映像上傳至 Azure Container Registry
在本機的命令提示字元中執行下列命令,並將
<registry-name>
取代為容器登錄的名稱,以便為目前的reservationsystem
映像加上登錄名稱標籤:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
執行
docker image ls
命令,驗證是否已正確標記映像:docker image ls
您應該會看到類似下面的輸出:
REPOSITORY TAG IMAGE ID CREATED SIZE reservationsystem latest a56281e7038f 4 minutes ago 1.76GB <registry-name>.azurecr.io/reservationsystem latest a56281e7038f 4 minutes ago 1.76GB
在命令提示字元中,登入您的 Azure Container Registry。 使用
docker login
命令,指定您先前記下的登錄登入伺服器。 出現提示時,從存取金鑰輸入使用者名稱和密碼。docker login <login-server>
注意
您可能會收到精靈傳來的錯誤回應,內容指出您的應用程式未向 Microsoft Entra ID 註冊。 如本練習稍早所述,您已啟用 [管理使用者] 存取金鑰來測試我們的部署。
輸入下列命令,並將
<registry-name>
取代為您自己的登錄名稱,以在 Azure Container Registry 中將映像上傳至您的登錄:docker push <registry-name>.azurecr.io/reservationsystem:latest
等候上傳完成。 此流程需要幾分鐘的時間,才能將映像的所有物件推送至您的存放庫。 您可以觀察每個物件從等候中、準備中、推送中到已推送的過程。
驗證登錄內容
為了進行此練習的其餘部分,您會返回 Azure 入口網站。
在 Azure 入口網站中,返回您的容器登錄。
在資源功能表中,於 [服務] 底下,選取 [存放庫]。 容器登錄的 [存放庫] 窗格隨即顯示。
驗證 reservationsystem 存放庫是否出現。 選取 reservationsystem 存放庫,驗證此存放庫是否包含標記為 latest 的映像。
使用 Azure 容器執行個體載入並執行映像
在 Azure 入口網站中,選取 [建立資源]。 [建立資源] 窗格隨即會顯示。
在資源功能表中,選取 [容器],然後選取 [容器執行個體]。
[建立容器執行個體] 窗格隨即顯示。
設定容器執行個體需要進行數個步驟。 請從設定資源群組資訊和容器詳細資料來開始。 接著,設定容器的網路選項並重新啟動原則。
在 [基本] 索引標籤上,為每個設定輸入下列值。
設定 值 專案詳細資料 訂用帳戶 選取您可以在其中建立和管理資源的預設 Azure 訂用帳戶 資源群組 重複使用現有資源群組 learn-deploy-container-aci-rg 容器詳細資料 容器名稱 hotelsysteminstance 區域 使用預設位置 可用性區域 接受預設 SKU 標準 影像來源 其他登錄 影像類型 私用 映像 <registry-name>.azurecr.io/reservationsystem:latest 映像登錄登入伺服器 輸入登錄的登入伺服器名稱 映像登錄使用者名稱 輸入登錄的使用者名稱 映像登錄密碼 輸入登錄的密碼 OS 類型 Linux 大小 將預設 [大小] 維持設定為 1 vcpu、1.5 GiB 記憶體、0 gpus 選取 [下一步:網路]。
在 [網路] 索引標籤中,為每個設定輸入下列值。
設定 值 網路類型 公開 DNS 名稱標籤 選擇唯一名稱,以作為容器 URL 的一部分。 重複使用 DNS 名稱標籤範圍 接受預設 連接埠 連接埠 80 連接埠通訊協定 TCP 選取 [下一步: 進階]。
在 [進階] 索引標籤上,為每個設定輸入下列值。
設定 值 重新啟動原則 永遠 環境變數 將所有設定保留空白 命令覆寫 保留空白 選取 [檢閱 + 建立]。 等候驗證完成,如有必要則更正任何錯誤。
選取建立。
在建立資源之後,選取 [前往資源]。 您的 [容器實例] 窗格隨即出現。
在 [概觀] 窗格上,尋找容器執行個體的完整網域名稱 (FQDN)。
使用網頁瀏覽器,瀏覽至 URL
http://FQDN/api/reservations/1
,並將 FQDN 取代為容器執行個體的完整網域名稱。 例如,在上述螢幕擷取畫面中使用可見的 FQDN 會看起來像這樣:http://hotel.southcentralus.azurecontainer.io/api/reservations/1
Web 應用程式應該會回應包含 reservation 1 詳細資料的 JSON 物件。
恭喜! 您已將 Docker 映像上傳至 Azure Container Registry,並使用 Azure 容器執行個體服務執行此映像。