介绍
假设你是一名 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 或更高版本的本地安装。