1、win10 系统环境下先安装docker desktop
2、在Visual Studio 2022 新建.net 6.0 的web api 项目,我取名ShipService,如下图:
2、项目结构, 含有dockerfile如下图:
3、用鼠标右击dockerfile生成docker镜像,如下图:
4、等待docker镜像生成成功后,会在docker desktop 存在ShipService 镜像,如下图:
5、打开win10系统的dos窗口,输入docker images, 如下图:
6、在dos下登录个人所在阿里云创建的镜像库
(1)、首先在阿里云新建个人镜像仓库,如下图:
(2)、点击个人实例,进入“个人实例”,如下图:
(3)、点击左侧的“镜像仓库”,进入下一步:如下图:
(4)、点击“创建镜像仓库”,创建shipservice镜像,点击“下一步”,切换到本地仓库,如下两图:
(5)、点击上图“创建镜像仓库”按钮,即可创建shipservice镜像仓库,如下两图:
(6)、这里要把自己的镜像拉取与推送地址记好,因不同账户不同,如下,拉取与推送命令所示:
- 从Registry中拉取镜像
$ docker pull registry.cn-shenzhen.aliyuncs.com/dc-app/shipservice:[镜像版本号] - 将镜像推送到Registry,
$ docker login --username=zqp123456 registry.cn-shenzhen.aliyuncs.com
$ docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/dc-app/shipservice:[镜像版本号]
$ docker push registry.cn-shenzhen.aliyuncs.com/dc-app/shipservice:[镜像版本号]
(7)、至此上述己把阿里云个人镜像仓库己经创建完成。
(8)、回到本地win10系统的dos窗口,把本地docker images中的ShipService镜像推送往阿里云对应的shipservice镜像仓库,如下图所示:
(9)回到阿里云个人镜像仓库,点左侧“镜像版本”。发现版本2022-12-18版本号己存在,说明推送成功了。
7、打开阿里云的云产品Serverless应用引擎SAE, 如下图:
8、点击上图的Serverless应用引擎SAE, 进入SAE的操作界面,如下图:
9、点击左侧的“命名空间”,切换到创建命名空间界面,并创建命名空间,名字自定义,我的命命名为“dcspacename”,如下三张图所示:
10、命名空间创建好后,点击左侧“应用列表”返回应用列表页面,创建SAE应用,如下图:
10、点击上图的“创建应用”,进入用创建SAE应用的表单页面,如下图:
11、输入应用名称,如“shipservicedemo”, 命名空间选择上述创建好的命名空间“dcspacename”,应用实例数我填写1个(根据自己的情况而定),如下图所示:
12、点击上图的“下一步:应用布署配置”,进入下一个步骤,选择“其它语言”,镜像选择我们推送阿里云的镜像仓库的镜像,名称为“dc-app/shipservice”,版本为“2022-12-18” ,就是前面工作从本地推送阿里云的镜像, 如下图:
13、点击上图的“下一步:确认规格” ,进入下一步骤,如下图:
14、点上图“确认创建”,到此己经成功创建阿里云SAE应用,如下图:
15、点击上图的蓝色字体“应用详情页”,进入SAE应用详情页面,如下图所示:
16、点上图的“添加公网SLB访问” 创建一个负载均衡“SLB”,让公网能访问到asp.net web api应用,创建slb成功后,会有一个公网IP对应,如下图所示:
17、点击上图“确定”按钮,等待1分钟左右,公网ip与端口80生成,如下图所示:
18、将上图公网ip拷到浏览器访问,访问成功,可以进入swagger(地址格式:http://120.77.244.1/swagger/index.html, 其中120.77.244.1为slb对应的公网IP)看web api 接口是否正常, 如果不能访问,说明本地程序有验证拦截或代码有错误,改好代码,重新推本地docker镜像到阿里云镜像仓库就可以了,如下图所示: