netcore 使用surging框架发布到docker

demo运行在windows的docker中,系统是win10,所以需要先下载Docker for Windows,安装完毕后系统会重启,然后桌面上可以找到Docker for Windows的快捷图标,右下角有个鲸鱼小图标

netcore 使用surging框架发布到docker

 

单击右键,选择菜单中的Kitematic

netcore 使用surging框架发布到docker

会提示你下载Kitematic,自行下载后解压即可,将Kitematic快捷到桌面;

打开Kitematic,在搜索栏中下载好RabbitMQ、redis、consul相关镜像,因为这些是surging运行的先决条件。

netcore 使用surging框架发布到docker

netcore 使用surging框架发布到docker

netcore 使用surging框架发布到docker

接着去GitHub上下载surging网关项目,修改其中的gatewaySettings.json中Register下的Address地址,对应的事consul docker镜像的ip

具体如何查看其ip,看如下操作:

打开Kitematic,点击左下角,如图:

netcore 使用surging框架发布到docker

 

进入到命令窗口,输入docker container ls或者  docker ps -a  查看docker,

可以看到现在运行的docker的相关信息,

如图:

netcore 使用surging框架发布到docker

然后查看consul的相关配置,输入docker inspect  镜像的 containerID,如consul的id是b0e98b94638c,输入命令如下:docker inspect  b0e98b94638c,

显示这个docker的配置,内容会很多,不过ip的信息在最后,如图

netcore 使用surging框架发布到docker

 找到其中的ip是多少,然后修改surging网关中的consul地址为:"Address": "172.17.0.4:8500",其他配置根据上面的操作进行修改,如redis 镜像地址的查找和修改等;

修改好surging的网关配置后在Surging.ApiGateway项目上单击右键,由于我项目中已经添加过,所以该处为灰色,如图:

netcore 使用surging框架发布到docker

新建docker-Compose后修改其中docker-compose.yml的配置如下:

netcore 使用surging框架发布到docker

在后面添加docker的外部端口和内部端口的映射和网络模式,这里我们都使用桥接模式,包括之前的consul、RabbitMQ、redis都是同一模式,这样他们会在同一VLAN下,

然后运行网关,如下:

netcore 使用surging框架发布到docker

接下来新建一个解决方案,方案名随意,喜欢就好,由于时间比较短,这里我简单的处理,不清楚的可以留言

新建Service.A,然后在其下新建控制台应用Service.A、Service.B、Service.C,新建类库Service.A.Service、Service.B.Service、Service.C.Service;

编辑Service.A.csporj、Service.B.csporj、Service.C.csporj,如下

netcore 使用surging框架发布到docker

将其中的引用包都复制过去,分别修改一下对应的Service,即其中的<ProjectReference Include="..\Service.A.Service\Service.A.Service.csproj" />,Service.A引用Service.A.Service,Service.B引用Service.B.Service

Service.C引用Service.C.Service;

类库Service.A.Service、Service.B.Service、Service.C.Service中都引用

<PackageReference Include="surging" Version="0.5.4" />

如图:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpypys.html