教學課程:準備 Azure Kubernetes Service (AKS) 的應用程式

在本教學課程中,您會準備多容器應用程式,以在 Kubernetes 中使用。 您可以使用 Docker Compose 之類的現有開發工具,在本機建置及測試應用程式。 您會了解如何:

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

完成後,就可在本機開發環境中執行下列應用程式:

此螢幕擷取畫面顯示在本機網頁瀏覽器中開啟並於本機執行的 Azure Voting 應用程式容器映像

在稍後的教學課程中,您會將容器映射上傳至Azure Container Registry (ACR) ,然後將它部署至 AKS 叢集。

開始之前

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

若要完成此教學課程,您需要一個執行 Linux 容器的本機 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 撰寫檔案,以及 Kubernetes 資訊清單檔。 整套教學課程都會使用到這些檔案。 目錄的內容和結構如下所示:

azure-voting-app-redis
│   azure-vote-all-in-one-redis.yaml
│   docker-compose.yaml
│   LICENSE
│   README.md
│
├───azure-vote
│   │   app_init.supervisord.conf
│   │   Dockerfile
│   │   Dockerfile-for-app-service
│   │   sshd_config
│   │
│   └───azure-vote
│       │   config_file.cfg
│       │   main.py
│       │
│       ├───static
│       │       default.css
│       │
│       └───templates
│               index.html
│
└───jenkins-tutorial
        config-jenkins.sh
        deploy-jenkins-vm.sh

建立容器映像

Docker Compose 可用來自動建置容器映像和部署多容器應用程式。

下列命令會使用範例 docker-compose.yaml 檔案來建立容器映射、下載 Redis 映射,然後啟動應用程式。

docker compose up -d

完成時,使用 docker images 命令來查看所建立的映像。 下載或建立兩個映射。 azure-vote-front映射包含前端應用程式。 redis 映像可用來啟動 Redis 執行個體。

$ docker images
REPOSITORY                                     TAG       IMAGE ID       CREATED       SIZE
mcr.microsoft.com/oss/bitnami/redis            6.0.8     3a54a920bb6c   2 years ago   103MB
mcr.microsoft.com/azuredocs/azure-vote-front   v1        4d4d08c25677   5 years ago   935MB

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

$ docker ps

CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS                           NAMES
d10e5244f237        mcr.microsoft.com/azuredocs/azure-vote-front:v1   "/entrypoint.sh /sta…"   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
21574cb38c1f        mcr.microsoft.com/oss/bitnami/redis:6.0.8         "/opt/bitnami/script…"   3 minutes ago       Up 3 minutes        0.0.0.0:6379->6379/tcp          azure-vote-back

在本機測試應用程式

若要查看執行中的應用程式,請在本機網頁瀏覽器中流覽至 http://localhost:8080 。 系統會載入範例應用程式,如下列範例所示:

此螢幕擷取畫面顯示在本機網頁瀏覽器中開啟並於本機執行的 Azure Voting 應用程式容器映像

清除資源

應用程式的功能已完成驗證,因此可以停止並移除執行中的容器。 請勿刪除容器映射 - 在下一個教學課程中,您會將 azure-vote-front 映射上傳至 ACR 實例。

若要停止並移除容器實例和資源,請使用 docker-compose down 命令。

docker compose down

移除本機應用程式之後,您有一個 Docker 映射,其中包含 Azure Vote 應用程式 azure-vote-front,以在下一個教學課程中使用。

下一步

在本教學課程中,您已建立範例應用程式、為應用程式建立容器映射,然後測試應用程式。 您已了解如何︰

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

在下一個教學課程中,您將瞭解如何將容器映射儲存在 ACR 中。