Share via


(即將淘汰) 建立要與 Azure Container Service 搭配使用的容器映像

提示

如需本教學課程使用Azure Kubernetes Service的更新版本,請參閱教學課程:準備Azure Kubernetes Service (AKS) 的應用程式

警告

Azure Container Service (ACS) 即將淘汰。 ACS 不會再新增任何新的特性或功能。 所有 API、入口網站體驗、CLI 命令和文件均會標示為已淘汰。

自 2017 年引進 Azure Kubernetes Service (AKS) 起,即將其用於簡化 Kubernetes 的管理、部署及作業。 若您使用 Kubernetes 協調器,請於 2020 年 1 月 31 日前遷移至 AKS。 若要開始使用,請參閱遷移至 Azure Kubernetes Service

如需詳細資訊,請參閱 Azure.com 上的 Azure Container Service 淘汰通知

在本教學課程 (七個章節的第一部分) 中,多容器應用程式已準備好用於 Kubernetes。 完成的步驟包括:

  • 從 GitHub 複製應用程式來源
  • 從應用程式來源建立容器映像
  • 在本機 Docker 環境中測試應用程式

完成後,就可在本機開發環境中存取下列應用程式。

Image of Kubernetes cluster on Azure

在後續的教學課程中,此容器映像會上傳至 Azure Container Registry,然後在 Azure 裝載的 Kubernetes 叢集中執行。

開始之前

本教學課程假設使用者對核心 Docker 概念有基本認識,例如容器、容器映像和基本 Docker 命令。 如有需要,請參閱開始使用 Docker以取得容器基本概念入門。

若要完成本教學課程,您需要 Docker 開發環境。 Docker 提供可輕鬆在 MacWindowsLinux 系統上設定 Docker 的套件。

Azure Cloud Shell 不包括完成本教學課程每個步驟所需的 Docker 元件。 因此,我們建議使用完整的 Docker 開發環境。

取得應用程式程式碼

本教學課程中使用的應用程式的範例是基本投票應用程式。 應用程式是由前端 Web 元件和後端 Redis 執行個體所組成。 Web 元件會封裝至自訂容器映像。 Redis 執行個體會從 Docker Hub 使用未修改的映像。

使用 git 將應用程式的複本下載至您的開發環境。

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

變更目錄以從複製的目錄操作。

cd azure-voting-app-redis

目錄內有應用程式原始程式碼、預先建立的 Docker Compose 檔案和 Kubernetes 資訊清單檔。 整套教學課程都會使用到這些檔案。

建立容器映像

Docker Compose 可用來將容器映像的組建和多容器應用程式的部署進行自動化。

執行 docker-compose.yml檔案以建立容器映像、下載 Redis 映像,並啟動應用程式。

docker-compose up -d

完成時,使 docker images 命令來查看所建立的映像。

docker images

請注意,已下載或建立三個映像。 azure-vote-front 映像含有應用程式,並使用 nginx-flask 映像做為基礎映像。 redis 映像可用來啟動 Redis 執行個體。

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

執行 docker ps 命令以查看執行中的容器。

docker ps

輸出:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

在本機測試應用程式

瀏覽至 https://localhost:8080 以查看執行中的應用程式。

Image of Kubernetes cluster on Azure

清除資源

現已驗證應用程式功能,可以停止並移除執行中的容器。 請勿刪除容器映像。 azure-vote-front映像會在下一個教學課程中上傳至 Azure Container Registry 執行個體。

執行下列命令來停止執行中的容器。

docker-compose stop

使用下列命令來刪除已停止的容器和資源。

docker-compose down

完成時,您有包含 Azure Vote 應用程式的一個容器映像。

後續步驟

在本教學課程中,應用程式已經過測試並已建立應用程式的容器映像。 已完成下列步驟:

  • 從 GitHub 複製應用程式來源
  • 已從應用程式來源建立容器映像
  • 已在本機 Docker 環境中測試應用程式

前往下一個教學課程,了解如何在 Azure Container Registry 中儲存容器映像。