Skip to content
返回云服务

Azure 容器实例

无服务器容器执行:无需预配虚拟机或集群即可运行容器,按秒计费,适合突发、CI 和计划任务。

Azure入门

为什么

ACI 是在 Azure 中运行容器最快的方式 —— 无集群、无虚拟机,只需 az container create。按使用的 CPU/内存秒数计费,对短任务比常驻虚拟机更便宜。

支持 AKS 虚拟节点用于突发溢出。

何时使用

适用于一次性任务(数据处理、数据库迁移)、CI 构建步骤、计划任务(配合 Logic Apps 定时器)或通过虚拟节点实现 AKS 突发溢出。长时间运行服务应避免 —— 常驻负载用 App Service 或 AKS 更便宜,因为 ACI 持续计费。

如何做

1. 在 ACR 或公共注册表中有容器镜像。 2. 用 az container create 运行,指定镜像、CPU/内存及可选环境变量和端口。 3. 用 az container logs 查看日志。 4. 私有 ACR 需传 --registry-credentials 或使用托管标识。 5. 一次性任务用 --restart-policy Never,长时间运行用 Always。 ```bash az container create --name mytask --resource-group rg --image myacr.azurecr.io/worker:v1 --cpu 2 --memory 4 --restart-policy Never --registry-login-server myacr.azurecr.io --registry-username \${ACR_USER} --registry-password \${ACR_PWD} az container logs --name mytask --resource-group rg ```

示例

运行处理文件后退出的 Node.js 脚本,然后检查结果: ```bash az container create --name etl --resource-group rg \ --image myacr.azurecr.io/etl:v1 \ --cpu 1 --memory 2 --restart-policy Never \ --environment-variables INPUT=blob.csv OUTPUT=results.csv \ --command-line "node process.js" # 轮询直到终止 az container show --name etl --resource-group rg --query "instanceView.state" # 获取日志 az container logs --name etl --resource-group rg ```

常见问题

  • ⚠容器立即以代码 0 退出 —— 命令已完成;用 az container logs 确认工作完成,并用 --restart-policy Never 避免 ACI 重试。
  • ⚠从 ACR 拉取镜像失败 —— 未传凭据或标识缺少 AcrPull;用 --acr-identity 分配具有 AcrPull 角色的托管标识。
  • ⚠长时间运行容器昂贵 —— ACI 常驻按秒计费;7×24 服务迁移到 App Service 或 AKS。

最佳实践

  • ✓批处理任务用 --restart-policy Never 并轮询 az container show 获取终止状态;仅对打算持续运行的服务用 Always。
  • ✓为容器组分配托管标识而非将密钥作为环境变量传递 —— 标识可通过 RBAC 访问 Key Vault、Storage 和 ACR。
  • ✓突发 AKS 负载启用虚拟节点(ACI),让 KEDA/HPA 将溢出 Pod 调度到 ACI,仅在运行时付费。

常见问题解答

什么是Azure 容器实例?它解决什么问题?

无服务器容器执行:无需预配虚拟机或集群即可运行容器,按秒计费,适合突发、CI 和计划任务。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Azure 容器实例?

两步即可跑通:① 在 ACR 或公共注册表中有容器镜像。;② 用 az container create 运行,指定镜像、CPU/内存及可选环境变量和端口。。建议先用免费套餐验证流程,再接入生产环境。

Azure 容器实例 最容易踩的坑是什么?

最高频的问题是:容器立即以代码 0 退出 —— 命令已完成;用 az container logs 确认工作完成,并用 --restart-policy Never 避免 ACI 重试。。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Azure 容器实例 的最佳实践有哪些?

Azure 容器实例 的最佳实践包括:批处理任务用 --restart-policy Never 并轮询 az container show 获取终止状态;仅对打算持续运行的服务用 Always。;为容器组分配托管标识而非将密钥作为环境变量传递 —— 标识可通过 RBAC 访问 Key Vault、Storage 和 ACR。;突发 AKS 负载启用虚拟节点(ACI),让 KEDA/HPA 将溢出 Pod 调度到 ACI,仅在运行时付费。。其中首条「批处理任务用 --restart-policy Never 并轮询 az container show 获取终止状态;仅对打算持续运行的服务用 Always。」应作为团队默认规范写入 IaC 模板。

Azure 容器实例 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Azure 容器实例 多数提供免费套餐,先在免费额度内验证再放量。