.NetCore Web应用并使用Docker容器部署到Linux云服务器上运行

目标

创建一个.NetCore Web应用并使用Docker容器部署到Linux云服务器上运行。

准备工具

安装Docker Desktop本地测试用

VS2022开发工具(.NET CORE web)

Linux云服务器(部署

Xshell链接Linux云服务器的工具

1.使用VS2022新建一个ASP.NET Core Web应用

勾选启用Docker

Docker OS为Linux

 1dcd48324d13a793038bff9dcd2e04a0.png

接下来我们在本地使用docker测试一下(需要安装Docker Desktop),(如果不想本地测试的也可以跳过这些直接看第三部的服务器环境配置):

使用PowerShell进入到解决方案目录

然后执行打包成镜像,目录为项目名:

docker image build -f ./WebCoreCg02/Dockerfile -t aspnetcore:latest .

完成后可以使用docker images命令查看镜像

acdda0eac83eab98db321257c9c6381e.png

 

注意这个是名字,下面构建容器要用

然后构建容器

docker run --name=aspnetcore -p 8821:80 -d aspnetcore

--name :指定容器名称。

--p :指定容器端口。

--d :指定容器后台运行。

 

docker ps命令查看正在运行的容器

使用浏览器直接访问localhost:8821就能看到web网站了

2.云服务器环境配置

在腾讯云找个linux云服务器,用xshell链接上

然后执行下面的命令在服务器上安装docker和.NET6环境

A:安装docker

yum -y install docker-ce


如果执行后出现 No package docker-ce available 错误,

先执行下面

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

然后再执行安装yum -y install docker-ce


安装成功后启动

sudo systemctl start docker

设置开机启动

sudo systemctl enable docker

查看是否运行

systemctl status docker

B:安装.NetCoreSDK6.0

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm


sudo yum install dotnet-sdk-6.0




检查环境:


dotnet --info



------------------------以上云服务器的环境准备好了后,接下来上传项目----


3.打包上传项目到服务器

然后回到VS2022项目里,(这里我又新建了一个.NET6 web项目 项目名为WebCoreWebCg03)


吧dockerfile文件属性改下,然后发布文件夹publish。




然后把项目打压缩包(注意要打zip格式的)。


然后回到Xshell里打命令rz会弹出选择上传文件


选择压缩包上传上去,然后ls看一下压缩包名字


后unzip -d WebCoreWebCg03 WebCoreWebCg03.zip进行解压,解压后看好自己解压的文件夹




解压后它又多套了一层文件夹,所以我们cd进去


进到dockerfule文件的上一层目录后,然后开始编译成镜像(就像上面在pc端测试的那样)


docker image build -f ./WebCoreWebCg03/Dockerfile -t aspnetcore:latest .



编译完成后,查看镜像


docker images


第一个就是我们刚才编译的镜像


将镜像运行起来生成容器


docker run --name=aspnetcore -p 8808:80 -d aspnetcore


这时候在浏览器输入地址和端口就能访问了





其他问题:

如果shell执行报错:

run database recovery error: cannot open Packages database in /var/lib/rpm…

解决办法:

[root@www rpm]# rm -f __db.* # 清除原rpmdb文件

[root@www rpm]# rpm --rebuilddb # 重建rpm数据库

[root@www rpm]# yum clean all # 清除所有yum的缓存


 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值