前言
本项目作为一个练手项目,既然.net core是为了跨平台而生,那我们就做一个项目部署在linux中,废话不多说,直接开始做我们的项目
环境准备
vs2019+.net core 3.1+linux+docker
准备一个简单.net core的API项目
使用vs2019创建个.net core的web应用程序,特别注意要勾选启用Docker支持,会帮我们创建一个Dockerfile文件(后面会用到)
新建个默认的api控制器,会自带get/post/put的方法
编译发布到文件夹
编写Dockerfile文件并发布
dockerfile是一个文件格式的配置文件,用户可以使用dockerfile来快速构建自定义的镜像。由一行行命令语句组成,并且支持#开头的注释行。
dockerfile主题内容一般分为4部分
基础镜像信息
维护者信息使用label指令
镜像操作指令
容器启动时执行指令
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
COPY . .
ENTRYPOINT ["dotnet", "TestAPI.dll"]
- 1
- 2
- 3
- 4
- 5
dockerfile文件指令说明:
FROM -指定所创建镜像的基础镜像
WORKDIR-配置工作目录
EXPOSE-声明镜像内服务监听的端口
COPY-复制内容到镜像
ENTRYPOINT-启动镜像的默认人口命令
编译发布
部署到docker中
不懂docker怎么安装到linux的朋友请参考这篇教程文章CentOS Docker安装
1、拷贝到linux服务器,这里我用的是FileZilla工具
2、构建镜像
在构造之前,先测试下当前dll是否有效
如果提示dotnet命令不可使用,请参考请参考官网配置.net core sdk 安装
查看版本,测试是否安装成功。
[root@localhost ~]# dotnet --version
3.1.402