(已弃用)创建要与 Azure 容器服务一起使用的容器映像

小提示

有关本教程使用 Azure Kubernetes 服务的更新版本,请参阅 教程:为 Azure Kubernetes 服务(AKS)准备应用程序

警告

Azure 容器服务 (ACS) 正在被弃用。 不会向 ACS 添加新特性或功能。 所有 API、门户体验、CLI 命令和文档都标记为已弃用。

2017 年,我们引入了 Azure Kubernetes 服务(AKS),用于简化 Kubernetes 管理、部署和作。 如果使用 Kubernetes 业务流程协调程序,请在 2020 年 1 月 31 日前迁移到 AKS。 若要开始,请参阅 迁移到 Azure Kubernetes 服务

有关详细信息,请参阅 Azure.com 上的 Azure 容器服务弃用声明

在本教程中,第 7 部分是一个多容器应用程序,准备在 Kubernetes 中使用。 完成的步骤包括:

  • 从 GitHub 克隆应用程序源
  • 从应用程序源创建容器映像
  • 在本地 Docker 环境中测试应用程序

完成后,可在本地开发环境中访问以下应用程序。

Azure 上 Kubernetes 群集的图像

在后续教程中,容器映像将上传到 Azure 容器注册表,然后在 Azure 托管的 Kubernetes 群集中运行。

开始之前

本教程假定基本了解核心 Docker 概念,例如容器、容器映像和基本 docker 命令。 如果需要,请参阅Docker 入门,了解容器基础知识。

若要完成本教程,需要 Docker 开发环境。 Docker 提供可在任何 MacWindowsLinux 系统上轻松配置 Docker 的包。

Azure Cloud Shell 不包括完成本教程的每个步骤所需的 Docker 组件。 因此,我们建议使用完整的 Docker 开发环境。

获取应用程序代码

本教程使用的示例应用程序是一个基本的投票应用。 该应用程序由前端 Web 组件和后端 Redis 实例组成。 Web 组件打包到自定义容器映像中。 Redis 实例使用 Docker 中心提供的未修改的映像。

使用 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 容器注册表实例。

运行以下命令以停止正在运行的容器。

docker-compose stop

使用以下命令删除已停止的容器和资源。

docker-compose down

完成后,你有一个包含 Azure Vote 应用程序的容器映像。

后续步骤

在本教程中,测试了一个应用程序,并为应用程序创建了容器映像。 已完成以下步骤:

  • 从 GitHub 克隆应用程序源
  • 从应用程序源创建容器映像
  • 在本地 Docker 环境中测试应用程序

转到下一教程,了解如何在 Azure 容器注册表中存储容器映像。