NetCore项目的发布

一.准备工作

asp.net core入门 asp net core_Netcore


asp.net core入门 asp net core_asp.net core入门_02

二、大体的部署步骤

asp.net core入门 asp net core_asp.net core入门_03

三、配置服务器

1.打开实例

asp.net core入门 asp net core_c#_04


2.创建实例

asp.net core入门 asp net core_asp.net core入门_05


3.(1)如下选择

asp.net core入门 asp net core_asp.net core入门_06

asp.net core入门 asp net core_c#_07


单击下一步

(2)配置网络和安全组,保持默认点击下一步

(3)系统配置

asp.net core入门 asp net core_c#_08


(4)确认订单

(5)完成购买

asp.net core入门 asp net core_Netcore_09


asp.net core入门 asp net core_asp.net core入门_10

四、完成ESC服务器docker的配置

1.单机远程链接

asp.net core入门 asp net core_Netcore_11


2.选择Workbench登陆

asp.net core入门 asp net core_asp.net core入门_12


3.登陆

asp.net core入门 asp net core_asp.net core入门_13


4.执行四句指令

yum update
yum install epel-release -y
yum clean all
yum list

5.接下来就可以安装和运行docker了

yum install docker-io -y 执行此句

6.启动docker

systemctl start docker

asp.net core入门 asp net core_项目部署_14


7.验证是否完成

docker info

asp.net core入门 asp net core_c#_15

五、部署数据库

1.因为sqlserver数据库的镜像在国外服务器上,需要配置加速直接下载非常慢,需要启动阿里云的容器服务

asp.net core入门 asp net core_c#_16


2.找到镜像加速器

根据下面的操作文档输入四个指令

(1).在etc中创建docker文件

asp.net core入门 asp net core_c#_17


(2)把加速器的地址加入到docker的守护进程中

这是一个代码块需要一起输入

asp.net core入门 asp net core_项目部署_18


(3)重启daemon

sudo systemctl daemon-reload

(4)重启docker

sudo systemctl restart docker

3.拉取服务器镜像
docker pull microsoft/mssql-server-linux

4.设置数据库规则

docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=自己设置密码’ -p 1433:1433 -d microsoft/mssql-server-linux

asp.net core入门 asp net core_asp.net core入门_19


再执行docker ps查询是否成功

5.数据库启动好我们还暂时不能从外部启动,是因为ECS的安全策略导致的,需要向外界开放数据库的端口和ip地址

打开创建的实例,找到本实例安全组

asp.net core入门 asp net core_asp.net core入门_20


打开配置规则

asp.net core入门 asp net core_asp.net core入门_21


找到快速添加,配置如下

asp.net core入门 asp net core_c#_22


返回实例,找到公网ip

asp.net core入门 asp net core_项目部署_23


6.远程通过代码更新数据库

asp.net core入门 asp net core_c#_24


asp.net core入门 asp net core_docker_25


测试链接完成,确定,数据库配置完成

六、在本地配置镜像

1.首先创建docker文件,选择linux

asp.net core入门 asp net core_Netcore_26


当项目与解决方案在一个文件夹内,如下

asp.net core入门 asp net core_asp.net core入门_27

这是项目跟sln不在一个文件夹下的情况,需要修改如下

asp.net core入门 asp net core_docker_28


2. 在命令提示符中找到项目的路径(点进去这个的路径)

asp.net core入门 asp net core_asp.net core入门_29


构建镜像

asp.net core入门 asp net core_Netcore_30


3.开始部署

部署前检查是否有镜像(docker images)

asp.net core入门 asp net core_docker_31

1.首先需要推送镜像到阿里云的容器服务仓库中了

asp.net core入门 asp net core_docker_32


//这里仓库必须设置为公共的,不为私有的,特此提醒!!!!

asp.net core入门 asp net core_asp.net core入门_33


//这里仓库必须设置为公共的,这是更改后的

asp.net core入门 asp net core_c#_34

.选择本地仓库

asp.net core入门 asp net core_asp.net core入门_35


2.根据文档操作

asp.net core入门 asp net core_c#_36


docker images 查看,已经完成标签

asp.net core入门 asp net core_asp.net core入门_37


上传完成

asp.net core入门 asp net core_c#_38


可以在镜像版本中查看

asp.net core入门 asp net core_c#_39

七、项目部署

asp.net core入门 asp net core_Netcore_40


打服务器终端,然后拉取成功

asp.net core入门 asp net core_c#_41


运行镜像,然后使用docker ps检查是否成功运行

docker run -d --name 镜像别名 -p 8080:80 镜像名

asp.net core入门 asp net core_Netcore_42

2.由于esc服务因为安全性策略,暂时无法外部访问端口8080

配置安全规则

asp.net core入门 asp net core_项目部署_43


3.最终访问成功,到此结束

asp.net core入门 asp net core_docker_44