这是3个学习路径
在 Azure 中管理容器
https://docs.microsoft.com/zh-cn/learn/paths/administer-containers-in-azure/
Azure 上的 Kubernetes 简介
https://docs.microsoft.com/zh-cn/learn/paths/intro-to-kubernetes-on-azure/
在 Azure 中构建新式应用程序
https://docs.microsoft.com/zh-cn/learn/paths/architect-modern-apps/
总结下来即是
生成方式 | 本地,ACR build | |
存储方式 | 本地,ACR push | |
部署方式 | 本地,ACI,WebApp |
以下是几个相关学习模块
使用 Docker 生成容器化 Web 应用程序
https://docs.microsoft.com/zh-cn/learn/modules/intro-to-containers/
|
|
|
|
| 为web应用创建Dockerfile | copy NUL Dockerfile notepad Dockerfile |
|
| 使用Dockerfile生成和部署映像 | docker build -t reservationsystem . docker run -p 8080:80 -d --name reservations reservationsystem | 测试web应用 |
| 创建acr | az acr create --name myregistry --resource-group fei-rg --sku standard --admin-enabled true | 手动/命令 |
| 将应用的映像上传到 acr | docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest docker login <login-server> docker push <registry-name>.azurecr.io/reservationsystem:latest | 验证注册表内容 |
| 使用aci加载和运行映像 访问fqdn |
| 手动 |
|
|
|
|
|
|
|
|
使用 Azure 容器实例运行 Docker 容器
https://docs.microsoft.com/zh-cn/learn/modules/run-docker-with-azure-container-instances/2-run-aci
|
|
|
|
| 创建容器 | az container create \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --image microsoft/aci-helloworld \ --ports 80 \ --dns-name-label $DNS_NAME_LABEL \ --location eastus | 检查状态 |
| 访问fqdn |
|
|
|
|
|
|
| 部署适用于数据库的容器 | az container create \ --resource-group learn-deploy-aci-rg \ --name aci-demo \ --image microsoft/azure-vote-front:cosmosdb \ --ip-address Public \ --location eastus \ --secure-environment-variables \ COSMOS_DB_ENDPOINT=$COSMOS_DB_ENDPOINT \ COSMOS_DB_MASTERKEY=$COSMOS_DB_MASTERKEY | 数据库endpoint和masterkey作为环境变量--environment-variables \ |
| 查看ip地址 | az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo \ --query ipAddress.ip \ --output tsv |
|
|
|
|
|
|
|
|
|
使用 Azure 容器注册表生成和存储容器映像
https://docs.microsoft.com/zh-cn/learn/modules/build-and-store-container-images/
|
|
|
|
| 创建acr | az acr create --resource-group learn-deploy-acr-rg --name $ACR_NAME --sku Premium |
|
| 使用acr任务来创建容器映像 | az acr build --registry $ACR_NAME --image helloacrtasks:v1 . | 先要创建Dockerfile |
| 验证影响 | az acr repository list --name $ACR_NAME --output table |
|
| 启用注册表管理员帐户 | az acr update -n $ACR_NAME --admin-enabled true az acr credential show --name $ACR_NAME |
|
| 从acr部署映像 | az container create \ --resource-group learn-deploy-acr-rg \ --name acr-tasks \ --image $ACR_NAME.azurecr.io/helloacrtasks:v1 \ --registry-login-server $ACR_NAME.azurecr.io \ --ip-address Public \ --location <location> \ --registry-username [username] \ --registry-password [password] |
|
| 获取 aci的 IP 地址 | az container show --resource-group learn-deploy-acr-rg --name acr-tasks --query ipAddress.ip --output table |
|
| 为 acr创建重复的区域 | az acr replication create --registry $ACR_NAME --location japaneast |
|
|
|
|
|
使用 Azure 应用服务部署和运行容器化 Web 应用
|
|
|
|
| 使用acr生成和存储映像 | az acr create --name myregistry --resource-group mygroup --sku standard --admin-enabled true az acr build --file Dockerfile --registry myregistry --image myimage . | 创建注册表
除了存储和托管映像之外,还可以使用acr生成映像
检查容器注册表 |
| 启用对 ACR 进行 Docker 访问 | “设置”下,选择“访问密钥”。将“管理员用户”选项设置为“启用” |
|
| 创建web App,发布为Docker容器 |
|
|
| 创建webhook |
|
|
| 重新生成 Web 应用的映像,并将其推送到容器注册表 | az acr build --registry <container_registry_name> --image webimage . | “服务”下,选择“Webhook”。 在容器注册表的“Webhook”窗格中,选择列表中唯一的 Webhook。 |
|
|
|
|
|
|
|
|