介绍

已完成

假设你是一名 Java 开发人员,正在构建和部署要在本地服务器上运行的应用。 协调这些服务器和管理依赖项、缩放和其他注意事项是一个具有挑战性的过程。

与模拟硬件的虚拟机不同,容器作为普通进程直接在主机作系统、内核和硬件上运行。 由于这种简单性,容器需要更少的系统资源。 结果是占用较少的占用空间,开销要少得多,应用启动时间更快,并且是按需缩放的绝佳用例。

使用容器,可确保应用和依赖项始终在容器映像中隔离,并准备好大规模部署。

在本模块中,首先容器化现有的 Java 应用。 从开放 Internet 和 MIT 许可证下共享, 航班预订系统 是一个完全响应的、基于 Web 的示例航班预订系统,基于示例航空公司,使用 Java Servlets 和 Java 服务器页面(JSP)构建的模型视图控制器(MVC)体系结构。 原始 Web 应用程序设计为在 Java SE 8 和 Tomcat 8.5 上运行。 但是,它已更新为使应用程序现代化,使其能够在 Java SE 17 和 Tomcat 10.1 上运行。

容器化应用后,可以构造 Dockerfile 并编写生成容器映像所需的 Docker 说明。 接下来,在本地运行容器映像并测试应用。 然后将容器映像推送到 Azure 容器注册表,并将其部署到 Azure Kubernetes 服务。

在本模块结束时,你将能够容器化 Java 应用,将容器映像推送到 Azure 容器注册表,然后部署到 Azure Kubernetes 服务。

可以使用自己的 Azure 订阅(有权创建、更新和删除资源)在此模块中部署资源。 如果没有 Azure 订阅,请在开始之前创建 一个免费帐户

重要

为避免在 Azure 订阅中产生不必要的费用,请记得在完成此模块后取消预配 Azure 资源。

学习目标

在本模块结束时,你将能够执行以下任务:

  • 容器化 Java 应用。
  • 为 Java 应用生成容器映像。
  • 在本地运行容器映像。
  • 向 Azure 容器注册表推送容器映像。
  • 将容器映像部署到 Azure Kubernetes 服务。

先决条件

作为 Java 开发人员,你已熟悉如何构建应用。 完成本模块中的练习时,将使用个人 Azure 帐户。 请确保你拥有以下资源:

  • 有权创建、更新和删除资源的 Azure 订阅。
  • Docker CLI、Git CLI 和 Azure CLI 版本 2.66 或更高版本的本地安装。