通过Azure Container Apps服务,可以在无服务器平台上运行微服务和容器化应用程序。 使用容器应用,你可以享受运行容器的好处,同时无需手动配置云基础结构和复杂容器业务流程协调程序。
在本教程中,你将创建一个安全的容器应用环境并部署你的第一个容器应用。
注意事项
你还可以根据文章 快速入门:使用 containerapp up 部署你的第一个容器应用 中的说明,通过 az containerapp up 部署此应用。
az containerapp up 命令是使用单个命令生成应用并将其部署到Azure Container Apps的快速便捷方法。 但是,它不会为容器应用提供相同级别的自定义。
先决条件
设置
若要从 CLI 登录到Azure,请运行以下命令,并按照提示完成身份验证过程。
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud //means return to Public Azure.
为了确保运行最新版本的 CLI,请运行升级命令。
az upgrade
接下来,安装或更新 CLI 的 Azure Container Apps 扩展。
如果在 PowerShell 中的 az containerapp 模块中运行 Azure CLI 或 cmdlet 中的 Az.App 命令时收到有关缺少参数的错误,请确保安装了最新版本的 Azure Container Apps 扩展。
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 命名空间。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
设置环境变量。
设置以下环境变量。 将 <placeholders> 替换为你自己的值。
RESOURCE_GROUP="<new-resource-group>"
LOCATION="<location>"
CONTAINERAPPS_ENVIRONMENT="<containerapps-environment>"
创建Azure资源组
创建一个资源组来组织与你的容器应用部署相关的服务。
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
创建环境
Azure Container Apps中的环境围绕一组容器应用创建安全边界。 部署到同一环境的容器应用部署在同一容器网络中,并将日志写入同一日志分析工作区。
若要创建环境,请运行以下命令:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
创建容器应用
创建环境后,可以部署第一个容器应用。 使用 containerapp create 命令,将容器映像部署到Azure Container Apps。
az containerapp create \
--name my-container-app \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external \
--query properties.configuration.ingress.fqdn
注意事项
请确保 --image 参数的值小写。
将 --ingress 设置为 external,使容器应用可供公共请求使用。
验证部署
create 命令返回容器应用的完全限定域名。 将此位置复制到 Web 浏览器。
部署容器应用时,将显示以下消息:
容器应用网页的截图。
清理资源
如果不打算继续使用此应用程序,请运行以下命令,删除资源组以及本教程中创建的所有资源。
注意
以下命令删除指定的资源组及其包含的所有资源。 如果指定的资源组中存在本教程范围外的资源,这些资源也会被删除。
az group delete --name $RESOURCE_GROUP
提示
遇到问题? 请通过在 Azure Container Apps 存储库中创建议题,让我们在 GitHub 上知晓。