快速入门:将项目文件部署到 Azure 容器应用
本快速入门介绍如何从预构建的项目文件部署容器应用。 本文中的示例使用 JAR 文件部署 Java 应用程序,其中该文件包含特定于 Java 的清单文件。 你的工作是创建一个返回音乐专辑静态集合的后端 Web API 服务。 完成本快速入门后,可以继续学习微服务之间的通信,了解如何部署调用 API 的前端应用程序。
以下屏幕截图显示你部署的专辑 API 的输出。
先决条件
要求 | 说明 |
---|---|
Azure 帐户 | 如果没有,请创建一个试用版订阅。 需要拥有 Azure 订阅的“参与者”或“所有者”权限才能继续操作。 有关详细信息,请参阅使用 Azure 门户分配 Azure 角色。 |
GitHub 帐户 | 免费获得一个。 |
git | 安装 git |
Azure CLI | 安装 Azure CLI。 |
Java | 安装 JDK,建议安装 17 或更高版本 |
Maven | 安装 Maven。 |
设置
若要从 CLI 登录到 Azure,请运行以下命令,然后按照提示完成身份验证过程。
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud //means return to Public Azure.
为了确保运行最新版本的 CLI,请运行升级命令。
az upgrade
接下来,安装或更新适用于 CLI 的 Azure 容器应用扩展。
如果在 Azure CLI 中运行 az containerapp
命令,或在 Azure PowerShell 中运行 Az.App
模块中的 cmdlet 时收到有关缺少参数的错误,请确保已安装最新版本的 Azure 容器应用扩展。
az extension add --name containerapp --upgrade
注意
从 2024 年 5 月开始,Azure CLI 扩展不再默认启用预览功能。 要访问容器应用预览功能,请使用 --allow-preview true
安装容器应用扩展。
az extension add --name containerapp --upgrade --allow-preview true
现在已安装当前扩展或模块,接下来请注册 Microsoft.App
和 Microsoft.OperationalInsights
命名空间。
注意
Azure 容器应用资源已从 Microsoft.Web
命名空间迁移到 Microsoft.App
命名空间。 如需更多详细信息,请参阅 2022 年 3 月的从 Azure.Web 到 Microsoft.App 的命名空间迁移。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
创建环境变量
完成 Azure CLI 安装后,接下来可以定义要在本文中使用的环境变量。
在 bash shell 中定义以下变量。
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
SUBSCRIPTION=<YOUR_SUBSCRIPTION_ID>
必要时可以查询订阅 ID。
az account list --output table
准备 GitHub 存储库
首先克隆示例存储库。
使用以下 git 命令将示例应用克隆到 code-to-cloud 文件夹:
git clone https://github.com/azure-samples/containerapps-albumapi-java code-to-cloud
cd code-to-cloud
生成 JAR 文件
注意
Java 示例仅支持 Maven 生成(会生成可执行 JAR 文件)。 该生成使用默认设置,因为不支持传入环境变量。
使用 Maven 生成项目。
mvn clean package -DskipTests
在本地运行项目
java -jar target\containerapps-albumapi-java-0.0.1-SNAPSHOT.jar
若要验证应用程序是否正在运行,请打开浏览器并转到 http://localhost:8080/albums
。 该页返回 JSON 对象的列表。
部署项目
使用 containerapp up
命令从本地 JAR 文件生成并部署第一个容器应用。
此命令:
- 创建资源组
- 创建 Azure 容器注册表
- 生成容器映像并将其推送到注册表
- 创建具有 Log Analytics 工作区的容器应用环境
- 使用公共容器映像创建和部署容器应用
up
命令使用存储库根目录中的 Docker 文件生成容器映像。 Docker 文件中的 EXPOSE
指令定义目标端口。 但是,生成容器应用不需要 Docker 文件。
注意
注意:将 containerapp up
与无 Docker 代码库结合使用时,请使用 --location
参数,以便应用程序在除中国东部以外的位置运行。
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact ./target/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar \
--ingress external \
--target-port 8080 \
--subscription $SUBSCRIPTION
验证部署
将 FQDN 复制到 Web 浏览器。 在 Web 浏览器中,转到 FQDN 的 /albums
终结点。
部署 WAR 文件
还可以从 WAR 文件部署容器应用。
清理资源
如果不打算继续使用此应用程序,可以通过删除资源组来删除 Azure 容器应用实例和所有关联的服务。
按照以下步骤删除创建的资源:
az group delete \
--resource-group $RESOURCE_GROUP
提示
遇到问题? 在 Azure 容器应用存储库中提交问题,告知我们有关 GitHub 的信息。