快速入門:使用 Docker CLI 部署容器執行個體

使用 Azure 容器執行個體在 Azure 中簡潔且快速地執行無伺服器 Docker 容器。 當您開發雲端原生應用程式,而且想要順暢地從本機開發切換到雲端部署時,請視需要部署至容器執行個體。

在本快速入門中,您會使用原生 Docker CLI 命令來部署 Docker 容器,並讓其應用程式可在 Azure 容器執行個體中使用。 這項功能是透過 Docker 與 Azure 之間的整合所啟用。 執行 docker run 命令的幾秒之後,您可以瀏覽至容器中執行的應用程式:

App deployed using Azure Container Instances viewed in browser

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

針對本快速入門,您需要適用於 WindowsmacOS 的 Docker Desktop 2.3.0.5 版或更新版本。 或安裝適用於 Linux 的 Docker ACI 整合 CLI

重要

並非所有 Azure 容器執行個體的功能都受到支援。 透過在 aci-integration-beta GitHub 存放庫中建立問題,提供有關 Docker-Azure 整合的意見反應。

建立 Azure 內容

若要使用 Docker 命令來執行 Azure 容器執行個體中的容器,請先登入 Azure:

docker login azure

出現提示時,輸入或選取您的 Azure 認證。

執行 docker context create aci 以建立 ACI 內容。 此內容會將 Docker 與您的 Azure 訂用帳戶和資源群組建立關聯,讓您可以建立和管理容器執行個體。 例如,若要建立名為「myacicontext」的內容:

docker context create aci myacicontext

出現提示時,選取您的 Azure 訂用帳戶識別碼,然後選取現有的資源群組,或建立新的資源群組。 如果您選擇新的資源群組,則會使用系統產生的名稱來建立。 Azure 容器執行個體和所有 Azure 資源相同,都必須部署到資源群組中。 資源群組可讓您組織和管理相關的 Azure 資源。

執行 docker context ls 以確認您已將 ACI 內容新增至您的 Docker 內容:

docker context ls

建立容器

建立 Docker 內容之後,您可以在 Azure 中建立容器。 在此快速入門中,您可以使用公用 mcr.microsoft.com/azuredocs/aci-helloworld 映像。 此映像會封裝以 Node.js 撰寫並提供靜態 HTML 網頁的小型 Web 應用程式。

首先,變更為 ACI 內容。 所有後續的 Docker 命令都會在此內容中執行。

docker context use myacicontext

執行下列 docker run 命令來建立 Azure 容器執行個體,並將連接埠 80 公開至網際網路:

docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld

成功部署的範例輸出:

[+] Running 2/2
 ⠿ hungry-kirch            Created                                                                               5.1s
 ⠿ single--container--aci  Done                                                                                 11.3s
hungry-kirch

執行 docker ps 以取得執行中容器的詳細資料,包括公用 IP 位址:

docker ps

範例輸出會顯示公用 IP 位址,在此案例中是 52.230.225.232

CONTAINER ID        IMAGE                                        COMMAND             STATUS              PORTS
hungry-kirch        mcr.microsoft.com/azuredocs/aci-helloworld                       Running             52.230.225.232:80->80/tcp

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

App deployed using Azure Container Instances viewed in browser

提取容器記錄

如果您要對容器或其執行的應用程式進行疑難排解 (或只是要檢視其輸出),請先檢視容器執行個體的記錄。

例如,執行 docker logs 命令以查看 ACI 內容中 hungry-kirch 容器的記錄:

docker logs hungry-kirch

輸出會顯示容器的記錄,且應該會顯示您在瀏覽器中檢視應用程式時產生的 HTTP GET 要求。

listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

清除資源

當您完成容器的作業時,請執行 docker rm 以將其移除。 此命令會停止並刪除 Azure 容器執行個體。

docker rm hungry-kirch

下一步

在本快速入門中,您已透過使用 Docker 與 Azure 之間的整合,從公用映像建立 Azure 容器執行個體。 若要深入了解整合案例,請參閱 Docker 文件

您也可以使用適用於 Visual Studio Code 的 Docker 延伸模組,以取得開發、執行和管理容器、映像和內容的整合式體驗。

若要使用 Azure 工具來建立和管理容器執行個體,請參閱使用 Azure CLIAzure PowerShellAzure 入口網站Azure Resource Manager 範本的其他快速入門。

如果您想要使用 Docker Compose 在本機定義和執行多容器應用程式,然後切換至 Azure 容器執行個體,請繼續完成教學課程。