概要
1. 多容器以及代码直接部署
2. 部署过程
多容器以及代码直接部署
Azure App Service中同时运行多个容器
在之前的博客中我们提到过,App Service本质上以容器的方式运行在一个Azure VM中,只是根据选择的Service Plan不同在网络环境以及硬件上有所区别。由此,一个App Service理所当然可以同时运行多个容器。主要的实现方式为使用Docker Compose构建规划多容器的运行。
什么是Docker Compose
Docker Compose是一个用于定义和运行多容器 Docker 的应用程序工具,在目录中添加yaml文件,列出所有需要运行的容器及其相关信息如版本,运行命令等。最后使用docker-compose up即可开始运行多个容器。
Azure App Service中Code直接部署
Code直接部署即直接由本地开环境的代码一步直接部署至Azure。相较于其他部署方式,Code直接部署更快更方便。真正实现了无需任何前置操作的“一键部署”。
部署过程
Code直接部署
Code直接部署这里以C#为例,本文使用了一个.Net Core 3.1的WebAPI工程,Visual Studio中简单构建代码后,直接打开需要发布工程的Publish发布标签,选择App Service为目标。
在VS中登陆需要发布到目标的Azure账号,在创建发布模板时即可通过选择账号下的Subscription订阅、Resource Group资源组,找到对应的App Service(笔者已经先行在Azure中创建了一个App Service实例)。
点击发布,即可以看到Output中的开始输出的发布过程,首先在本地生成DLL等文件,在App Service中创建目录,传输至对应的目录。
笔者由于需要在K8s中测试负载均衡的原因,在WebAPI中添加了一个接口/api/ServerInfo, 线程挂起5s后返回当前主机IP。
使用POSTMAN 请求接口 https://vicdemocode.azurewebsites.net/api/serverinfo
这里返回的是App Service实例在资源组中的内网地址。
到此,就实现了一个WebAPI至App Service的Code方式部署。
单实例运行多容器
与单容器部署类似,多容器的部署只是选择了以Docker Compose的方式完成对实例的设置。在Container Setting中选择Docker Compose,选择上传yaml文件或直接键入文件内容,运行后即可在下方日志看到实例的运行情况。