centos7.x docker 跑vs2017发布的asp.net core2.x项目

本文介绍了在Windows下使用VS2017开发.NET Core项目,并将其发布到CentOS 7.x Docker的详细过程。包括在Windows中新建项目、发布配置,以及将文件传输到Linux并进行部署。对比了独立部署和框架依赖部署两种模式的文件大小,建议选择框架依赖部署,因其包更小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为vs2017在windows下配docker支持,要开启docker for windows版本的服务,挺重的,资源消耗颇大,而且最坑爹的是发布并不支持直接发成docker包,还是要你自己去用dockerfile来建立镜像,我这里不把项目文件打包进docker镜像,而是用-v方式挂载相关目录进docker来运行,这样搭配一些分布式存储方案其实可以节省不少打包麻烦和存储空间的;

windows内:

做一个vs2017(15.8版本)新建.net core项目 asp.net core web应用程序api项目模板 asp.net core2.1 不选docker支持(选了调试比较重,可以之后添加用于linux docker的调试,不过如果.net core跨平台性支持够好其实根本不需要的) https开着,不过默认发布到linux的时候最后好像都是http;

新建得项目WebApplication1,调试的话

https://localhost:5001/api/values会返回一个json文件内容是

["value1","value2"];

发布(新建配置文件):

发布方法:选文件系统;

设置:Release;

目标框架:我这时候暂时是 netcoreapp2.1;

部署模式:选独立,发布完,整体文件较多,较大,我目前实测大概是93mb+;

选框架依赖,发布完,整体文件数很少,实测不到2mb大;

因为是发布到centos7.x docker 所以目标运动时:linux-x64;

发布完默认文件在项目文件夹\bin\Release\netcoreapp2.1\publish下;

 传给linux方法多样而我喜欢开启本地windows的iis功能,然后将publish下文件打包成publish.zip,然后复制到iis目录下,默认是C:\inetpub\wwwroot;

linux:

将windows发布目录publish下的文件都打包,传送到linux下,解压到/dotnet下:

curl -O http://192.168.1.4/publish.zip;

安装解压zip的库:

yum makecache fast;yum install unzip -y;

解压到相关目录:

unzip -n -d /dotnet publish.zip;

部署模式选独立:

chmod u+x /dotnet/WebApplication1

docker run -dit  --restart=always --name=dotnet -p 80:80 -v /dotnet:/dotnet --hostname dotnet microsoft/dotnet:2.2-runtime /dotnet/WebApplication1;

microsoft/dotnet:2.2-runtime镜像大小180.5mb;

加上项目文件93mb+,共273mb+大;

部署模式选框架依赖:

docker run -dit  --restart=always --name=dotnet -p 80:80 -v /dotnet:/dotnet --hostname dotnet microsoft/dotnet:2.2-aspnetcore-runtime dotnet /dotnet/WebApplication1.dll;

microsoft/dotnet:2.2-aspnetcore-runtime镜像大小257.8mb;

加上项目文件2mb-,共259mb大;

我的建议是选择第二种方式,包比较小哦,而且我看了vs2017给项目添加的docker支持里的dockerfile的from底包,就是aspnetcore-runtime;

posted on 2018-08-25 07:38 雷兽 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sfissw/p/9532812.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值