使用用于 Eclipse 的 Azure 工具包将 Spring Boot 应用作为 Docker 容器发布

Spring Framework 是一种开放源代码解决方案,可帮助 Java 开发人员创建企业级应用程序。 基于该平台构建的其中一个更常用的项目是 Spring Boot,该项目提供了简化的方法来创建独立的 Java 应用程序。

Docker 是一种开放源代码解决方案,可帮助开发人员自动部署、扩展和管理在容器中运行的应用程序。

本教程介绍使用用于 Eclipse 的 Azure 工具包将 Spring Boot 应用程序作为 Docker 容器部署到 Azure 的步骤。

先决条件

若要完成文章中的步骤,需要安装用于 Eclipse 的 Azure 工具包,该工具包需要以下软件组件:

  • 适用于 Java EE 开发人员的 Eclipse IDE、Mars 或更高版本。 可以从 Eclipse 网站下载它。

  • 一个受支持的 Java 开发工具包 (JDK)。 有关在 Azure 上进行开发时可供使用的 JDK 的详细信息,请参阅 https://aka.ms/azure-jdks

  • 操作系统。 适用于 Eclipse 的 Azure 工具包已在以下操作系统上通过测试:

    • Windows 10、Windows 8.1、Windows 8 和 Windows 7
    • Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 和 Windows Server 2008
    • Mac OS X 版本“Yosemite”及更高版本
    • Ubuntu Linux 版本 14、15 和 16

备注

Eclipse 市场中的 Azure Toolkit for Eclipse(用于 Eclipse 的 Azure 工具包)页列出了与工具包兼容的内部版本。

克隆默认 Spring Boot Docker 存储库

导入公共存储库

以下步骤介绍如何使用 IntelliJ 将 Spring Boot Docker 存储库克隆到本地计算机。

  1. 打开 Eclipse。

  2. 单击“文件” > “导入”。

    文件导入菜单

  3. “导入”对话框打开后:

    a. 展开 Git。

    b. 选择“来自 Git 的项目”。

    c. 单击“下一步”。

    “导入”对话框

  4. 在“选择存储库源”页上:

    a. 选择“克隆 URI”。

    b. 单击“下一步”。

    选择"存储库源"页

  5. 在“源 Git 存储库”页上:

    a. 对于“URI”,输入 https://github.com/spring-guides/gs-spring-boot-docker.git。 此步骤应该会为“主机”和“存储库路径”字段自动填充正确的值。

    b. Spring Boot 存储库是公开的,因此,你不必输入 Git 用户名和密码。

    c. 单击“下一步”。

    “源 Git 存储库”页

  6. 在“分支选择”页上,单击“下一步”。

    “分支选择”页

  7. 在“本地目标”页上:

    a. 指定放置本地存储库的本地文件夹。

    b. 单击“下一步”。

    “本地目标”页

  8. 在“选择用于导入项目的向导”页上:

    a. 选择“作为常规项目导入”。

    b. 单击“下一步”。

    “选择用于导入项目的向导”页

  9. 在“导入项目”页上:

    a. 指定项目名称。

    b.在“磁贴徽标”下面,选择“删除上传的徽标”。 单击“完成” 。

    “导入项目”页

  10. 当存储库成功克隆时,可以看到 Eclipse 中列出的所有文件。

    本地存储库

从本地存储库创建 Maven 项目

Spring Boot Docker 存储库包含一个已完成的 Maven 项目,可用于本教程。

  1. 单击“文件” > “导入”。

    “文件”菜单上的“导入”命令

  2. “导入”对话框打开后:

    a. 展开 Maven。

    b. 选择“现有 Maven 项目”。

    c. 单击“下一步”。

    “导入”对话框

  3. 在“Maven 项目”页上:

    a. 对于“根目录”,在本地存储库中指定“complete”文件夹。

    b. 展开“高级”部分,并为“名称模板”输入自定义名称。

    c. 选择项目中 pom.xml 文件对应的框。

    d. 单击“完成” 。

    “Maven 项目”页

  4. 当 Maven 项目成功打开后,可以看到 Eclipse 中列出了第二个项目。

    本地 Maven 项目

使用 Maven 生成 Spring Boot 应用程序

  1. 在 Eclipse 项目资源管理器中,选择“Maven 项目”。

  2. 单击“运行” > “运行方式” > “Maven 生成”。

    以 Maven 生成方式运行的命令

  3. 成功生成应用程序后,控制台窗口会显示状态。

    Maven 生成成功

使用 Docker 容器将 Web 应用发布到 Azure

  1. 在 Eclipse 项目资源管理器中,选择“Maven 项目”。

  2. 单击 Azure 的“发布”菜单,然后单击“发布为 Docker 容器”。

    “发布为 Docker 容器”命令

  3. 出现“在 Azure 上部署 Docker 容器”对话框时:

    a. 输入自定义的 Docker 映像名称。

    b. 对于“要部署的项目”,指定刚生成的 gs-spring-boot-docker-0.1.0.jar 文件的路径。

    指定 Docker 选项

    现在显示所有现有的 Docker 主机。

  4. 如果选择部署到现有主机,可以跳到步骤 5。 否则,使用以下步骤创建主机:

    a.在“解决方案资源管理器”中,右键单击项目文件夹下的“引用”文件夹,并单击“添加引用”。 单击“添加” 。

    添加新的 Docker 主机

    b. 当显示“创建 Docker 主机”对话框时,可以选择接受默认设置,也可以为新的 Docker 主机指定任何自定义设置。 (有关各种设置的详细说明,请参阅使用用于 Eclipse 的 Azure 工具包将 Web 应用发布为 Docker 容器。)在指定了要使用的设置后,单击“下一步”。

    指定 Docker 主机选项

    c. 可以选择使用 Azure Key Vault 中的现有登录凭据,也可以选择输入新的 Docker 登录凭据。 在指定了选项后单击“完成”。

    指定 Docker 主机凭据

  5. 选择 Docker 主机,然后单击“下一步”。

    选择要使用的 Docker 主机

  6. 在“在 Azure 上部署 Docker 容器”对话框的最后一页上,指定以下选项:

    a. 可以选择为要托管 Docker 容器的容器指定一个自定义名称,也可以接受默认设置。

    b. 使用以下语法输入 Docker 主机的 TCP 端口:[外部端口]:[内部端口]。 例如,“80:8080”指定外部端口为“80”,默认的内部 Spring Boot 端口为“8080”。

    如果已自定义内部端口(例如通过编辑 application.yml 文件自定义),则需要指定端口号以便能够在 Azure 中进行正确路由。

    c. 在配置这些选项后,单击“完成”。

    在 Azure 上部署 Docker 容器

  7. Azure 工具包完成发布后,Azure 活动日志显示状态为“已发布”。

    已成功部署 Docker 主机

后续步骤

有关 Docker 的其他资源,请参阅官方 Docker 网站

有关用于 Eclipse 的 Azure 工具包的详细信息,请参阅以下链接:

若要详细了解如何将 Java 与 Azure 配合使用,请参阅以下链接: