共用方式為


(已淘汰)建立要與 Azure 容器服務 搭配使用的容器映像檔

小提示

如需本教學課程使用 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 環境中測試應用程式

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

Azure 上的 Kubernetes 叢集映像

在後續的教學課程中,容器映射會上傳至 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 以查看執行中的應用程式。

Azure 上的 Kubernetes 叢集映像

清理資源

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

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

docker-compose stop

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

docker-compose down

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

後續步驟

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

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

請繼續進行下一個教學課程,以瞭解將容器映像儲存在 Azure Container Registry 中。