练习 - 运行 Azure 容器实例
在本单元中,将在 Azure 中创建容器,再通过完全限定的域名 (FQDN) 向 Internet 公开该容器。
重要
需要自己的 Azure 订阅才能完成本练习,并且可能会产生费用。 如果还没有 Azure 订阅,请在开始前创建一个免费帐户。
为何使用 Azure 容器实例?
Azure 容器实例对能够在隔离容器中运行的场景非常有用,包括简单应用程序、任务自动化和生成作业。 部分优势如下:
- 快速启动:只需几秒即可启动容器。
- 按秒计费:只在容器运行时产生费用。
- 管理程序级别的安全性:将您的应用程序完全隔离,就像在虚拟机中一样。
- 自定义大小:为 CPU 核心数和内存指定确切的值。
- 持久存储:将 Azure 文件存储共享直接装载到一个用于检索和持久保存状态的容器。
- Linux 和 Windows 容器:使用同一 API 来计划 Windows 和 Linux 容器。
对于需要完整容器业务流程的方案(包括跨多个容器的服务发现、自动缩放、协调式应用程序升级),建议使用 Azure Kubernetes 服务 (AKS)。
创建容器
使用 Azure 订阅登录 Azure 门户。
从 Azure 门户选择 Cloud Shell 图标打开 Azure Cloud Shell。 确保选择“Bash”作为交互式 Cloud Shell 环境。
创建名为“learn-deploy-aci-rg”的新资源组,以便在完成该模块后,可以更轻松地清理这些资源。 如果选择其他资源组名称,请记住它,以便在本模块的其余练习中使用。 还需要选择要在其中创建资源组的区域,例如美国东部。
az group create --name learn-deploy-aci-rg --location eastus
提供一个 DNS 名称,以便将容器公开到 Internet。 DNS 名称必须唯一。 为便于学习,请通过 Cloud Shell 运行此命令,以创建包含唯一名称的 Bash 变量:
DNS_NAME_LABEL=aci-demo-$RANDOM
向
az container create
命令提供名称、Docker 映像和 Azure 资源组,以创建容器。 还可以通过指定 DNS 名称标签向 Internet 公开容器。 在本示例中,请部署一个托管小型 Web 应用的容器。 此外可选择映像的放置位置(我们将使用“美国东部”区域),但可将其更改为你附近的某个位置。运行以下
az container create
命令以启动容器示例:az container create \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --image mcr.microsoft.com/azuredocs/aci-helloworld \ --os-type Linux \ --cpu 1 \ --memory 1.5 \ --ports 80 \ --dns-name-label $DNS_NAME_LABEL \ --location eastus
$DNS_NAME_LABEL
指定 DNS 名称。 映像名称“azuredocs/aci-helloworld”指的是托管在运行基本 Node.js Web 应用程序的 Microsoft Container Registry 上的容器映像。当
az container create
命令完成时,运行az container show
以检查其状态:az container show \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \ --output table
获取容器的完全限定的域名 (FQDN) 及其预配状态。 下面是一个示例:
FQDN ProvisioningState -------------------------------------- ------------------- aci-demo-0000.eastus.azurecontainer.io Succeeded
如果容器处于“正在创建”状态,请稍等片刻后再次运行该命令,直至看到“已成功”状态。
在浏览器中访问容器的 FQDN 以查看其运行状态。 确保在字符串“aci-demo...”前输入“http://”。 应会获取此欢迎页:
总结
在这里,你创建了一个用于运行 Web 服务器和应用程序的 Azure 容器实例。 你还使用容器实例的 FQDN 访问了此应用程序。