发布.netCore WebApi服务并在Linux上部署

网站发布

使用vs2019将程序发布在本地文件夹:
1、将调试好的WebApi项目的解决方案资源配置的Debug换成Release。
在这里插入图片描述
2、右击项目-重新生成解决方案。

3、右击启动项-发布。

4、在发布的选项中选择编辑,跳出配置文件。

5、发布方法选择 “文件系统”,填写自定义的发布的系统位置。

6、在设置中选择相关的设置,部署模式有“框架依赖”和“独立”两种模式可以选择,选择框架依赖的时候,要求linux服务器上面装了相应版本的.net Core SDK和.net Core RunTime。
(此时发布的文件大小较小;若选择“独立模式”,则不要求服务器上面装相应版本的sdk和运行时,此时发布的文件夹较大,vs会将相应的环境一起打包发布。)

7、最后点击保存-发布,等待片刻即可完成相应的发布环节。在选择的文件系统路径中就可以找到发布的相应的文件。

linux上部署

1、先把发布的后的网站上传至服务器

2、进入文件目录

cd /usr/myWeb

输入ll查看目录下的文件在这里插入图片描述
3、配置dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY . ./app
WORKDIR /app
EXPOSE 5000
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["dotnet", "myWeb.dll"]

注释: 第一行aspnet:3.1,3.1是程序代码用的版本号,可以右击项目在属性中查看。
在这里插入图片描述
第四行 EXPOSE 5000 中5000是端口号和程序中配置的端口号要保持一致
在这里插入图片描述
第五、六行是设置时区的

最后一行 ENTRYPOINT [“dotnet”, “myWeb.dll”] 中的myWeb.dll是设置的程序入口

4、打包镜像

docker build -t myweb:v1 .

5、查看镜像是否打包成功

docker images;

成功后会显示在下面
在这里插入图片描述
6、运行镜像

docker run --name myapi -p 5000:5000 -d myweb:v1

7、查看运行的镜像是否运行成功

docker ps

成功会显示在下面
在这里插入图片描述

遇到的问题

1、容器名字被占用
解决办法:
查看历史运行的镜像

docker ps -a

在这里插入图片描述
更改执行的命令里的容器名字即可
在这里插入图片描述
2、新建的容器名字写错
解决办法:
查看正在运行的镜像 获取CONTAINER ID
在这里插入图片描述
停止该镜像运行

docker stop 1d49e6806383

删除该镜像

docker rm 1d49e6806383

在这里插入图片描述
1d49e6806383为上一步的CONTAINER ID
执行以上操作之后再重新运行镜像即可

个人学习记录,如有问题欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值