此前,我一直觉得,目前网络上的各种各样的技术文章、技术文档已经足够多,任何一种技术,都可以或多或少的在网络上找到教程,或者在qq群里找到前辈解答。所以,我觉得自己在博客上写文章的意义甚少。甚至觉得自己写重复的博客,只会为这无尽的网络世界添加更多垃圾信息。
不过,后来我经过思考,觉得自己过去的观念并非完全正确。我们做了很多事,有时候看上去是想方便别人,实际上更是自身的需要。就如我们晚上开车,因为有路灯,司机看清眼前的路并无问题,但是,夜里开车还是要开灯,因为开灯,不只是为了让自己看清路,更让其他车主可以看到你的存在,从而不会撞伤你。
不扯太多,进入主题吧
过去的.NET应用,基本都是使用IIS部署,如今.NetCore的发布,很好的解决了.Net跨平台的问题。Docker的优点和好处,在此不想多说,后续会专门写一篇介绍Docker。
首先 Centos 中安装 docker
我们使用最简单的安装方式, 直接 : yum install docker -y
安装完之后,直接 docker --version 既可以 查看 当前安装docker 的版本信息。
启动docker, systemctl start docker。
把发布好的.NetCore 应用上传到服务器。然后就是借用Dockerfile对应用进行打包成镜像,进而构建容器。
附上Dockerfile 实例:
#基于asp.netcore 2.2
FROM microsoft/dotnet:2.2-aspnetcore-runtime
# 安装libgdiplus 插件,
RUN apt-get update
RUN apt-get install libgdiplus
#设置工作目录
WORKDIR /nfine
#把文件复制到工作目录
COPY ./nfine .
#开启80端口
EXPOSE 80
#程序入口
CMD ["dotnet", "NFine.Web.dll"]
进而运行容器即可。