使用用于 IntelliJ 的 Azure 工具包将 Java 应用部署到用于容器的 Azure Web 应用

Docker 容器是部署 Web 应用程序的广泛使用方法。 通过使用 Docker 容器,开发人员可以将所有项目文件和依赖项合并到单个包中,以便部署到服务器。 用于 IntelliJ 的 Azure 工具包通过添加用于将容器部署到 Microsoft Azure 的功能,简化了 Java 开发人员的此过程。

本文演示了使用用于 IntelliJ 的 Azure 工具包创建基本 Hello World Web 应用并将 Linux 容器中的 Web 应用发布到 Azure 所需的步骤。

先决条件

  • 支持的 Java 开发工具包(JDK)。 有关在 Azure 上进行开发时可用的 JDK 的详细信息,请参阅 Azure 和 Azure Stack上的 Java 支持。
  • IntelliJ IDEA:Ultimate 或 Community Edition。
  • 用于 IntelliJ 的 Azure 工具包。 有关详细信息,请参阅 安装用于 IntelliJ 的 Azure 工具包。 你还需要登录你的 Azure 帐户以使用 IntelliJ 的 Azure 工具包。 有关详细信息,请参阅 Azure Toolkit for IntelliJ的 登录说明。

注意

若要完成本教程中的步骤,需要配置 Docker,以在没有 TLS 的情况下在端口 2375 上公开守护程序。 可以在安装 Docker 时或通过 Docker 设置菜单配置此设置。

Docker 设置菜单

安装和登录

以下步骤将引导你完成 IntelliJ 开发环境中的 Azure 登录过程。

  1. 如果尚未安装插件,请参阅 安装用于 IntelliJ 的 Azure 工具包

  2. 若要登录到 Azure 帐户,请导航到左侧 Azure 资源管理器 边栏,然后单击 Azure 登录 图标。 你也可以导航到 工具,展开 Azure,然后单击 Azure 登录

    在 IntelliJ 中登录到 Azure。

  3. Azure 登录 窗口中,选择 设备登录,然后单击 登录其他登录选项)。

  4. Azure 设备登录 对话框中单击 “复制&打开”。

  5. 在浏览器中粘贴设备代码(在最后一个步骤中单击“复制并打开”时已复制),然后单击“下一步”。

  6. 选择 Azure 帐户并完成登录所需的任何身份验证过程。

  7. 登录后,关闭浏览器并切换回 IntelliJ IDE。 在“选择订阅”对话框中,选择要使用的订阅后,单击 选择

创建新的 Web 应用项目

  1. 单击 文件,展开 新建,然后单击 项目

  2. “新建项目”对话框 中,选择 Maven,并确保选中 “从原型创建” 选项。 从列表中选择“maven-archetype-webapp”,然后单击“下一步”

    选择“maven-archetype-webapp”选项。

  3. 展开 工件坐标 下拉列表,以查看所有输入字段,并为您的新 Web 应用指定以下信息,然后单击 下一步

    • 名称:Web 应用的名称。 这将自动填写 Web 应用的 ArtifactId 字段。
    • GroupId:构件组的名称,通常是公司域名。 (例如 com.microsoft.azure
    • 版本:我们将保留默认版本 1.0-SNAPSHOT
  4. 自定义任何 Maven 设置或接受默认设置,然后单击“完成”

  5. 在左侧 项目 选项卡中导航到您的项目,然后打开文件 src/main/webapp/index.jsp。 将代码替换为以下内容,然后保存所做更改

    <html>
     <body>
       <b><% out.println("Hello World!"); %></b>
     </body>
    </html>
    

    打开index.jsp文件。

创建用作专用 Docker 注册表的 Azure 容器注册表

以下步骤逐步讲解如何使用 Azure 门户创建 Azure 容器注册表。

注意

如果要使用 Azure CLI 而不是 Azure 门户,请按照 使用 Azure CLI 2.0创建专用 Docker 容器注册表中的步骤操作。

  1. 浏览到 Azure 门户 并登录。

    登录到 Azure 门户上的帐户后,可以使用 Azure 门户 一文执行 创建专用 Docker 容器注册表中的步骤,为方便起见,在以下步骤中进行了说明。

  2. 单击 + 创建资源的菜单图标,单击 容器 类别,然后单击 容器注册表

  3. 显示 创建容器注册表 页时,请指定以下信息:

    • 订阅:指定要用于新容器注册表的 Azure 订阅。

    • 资源组:指定容器注册表的资源组。 选择以下选项之一:

      • 创建新:指定要创建新的资源组。
      • 使用现有:指定从与 Azure 帐户关联的资源组列表中选择。
    • 注册表名称:指定新容器注册表的名称。

    • 位置:指定要在其中创建容器注册表的区域(例如“美国西部”)。

    • SKU:指定容器注册表的服务层级。 对于本教程,请选择“基本”。 有关详细信息,请参阅 Azure 容器注册表服务层

  4. 单击 查看 + 创建 并验证信息是否正确。 单击“创建”即可完成。

在 Docker 容器中部署 Web 应用

以下步骤将指导你配置 Web 应用的 Docker 支持,并将 Web 应用部署到 docker 容器。

  1. 在左侧 项目 选项卡上导航到项目,然后右键单击项目。 展开“Azure”,然后单击“添加 Docker 支持”

    这将自动创建具有默认配置的 Docker 文件。

    Docker 支持文件。

  2. 添加 Docker 支持后,在项目资源管理器中右键单击项目,展开 Azure,然后单击 将映像部署到 Web 应用

  3. 在“将镜像部署到 Web 应用”对话框中,填写以下信息:

    • 名称:指定 Azure 工具包中显示的易记名称。

    • 容器注册表:创建新注册表,或从本文上一部分创建的下拉菜单中选择容器注册表。 将自动填充 服务器 URL用户名密码 的字段。

    • 映像和标记:指定容器映像名称,通常使用以下语法:“注册表.azurecr.io/appname:latest”,其中:

      • “注册表”是指本文上一部分中的容器注册表
      • appname 是您 Web 应用程序的名称
    • 使用现有 Web 应用创建新的 Web 应用:指定是将容器部署到现有 Web 应用还是创建新的 Web 应用。 指定的 应用名称 将为 Web 应用创建 URL;例如:wingtiptoys.azurewebsites.net

    • 资源组:指定是使用现有资源组还是创建新资源组。

    • 应用服务计划:指定是使用现有计划还是创建新的应用服务计划。

  4. 完成上面列出的设置配置后,点击 运行。 成功部署 Web 应用后,状态将显示在 运行 窗口中。

  5. 发布 Web 应用后,可以浏览到之前为 Web 应用指定的 URL;例如:wingtiptoys.azurewebsites.net

    转到你的 Web 应用

可选:修改 Web 应用发布设置

  1. 发布 Web 应用后,设置将保存为默认值,可以通过单击工具栏上的绿色箭头图标在 Azure 上运行应用程序。 可以通过单击 Web 应用的下拉菜单并单击 编辑配置来修改这些设置。

    “编辑配置”菜单。

  2. 显示 运行/调试配置 对话框时,可以修改任何默认设置,然后单击“确定”

后续步骤

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

若要报告 bug 或请求新功能,请在 gitHub 存储库创建问题,或使用标记 azure-java-tools在 Stack Overflow 上提问。

有关将 Java 与 Azure 配合使用的详细信息,请参阅以下链接: