当前位置: 代码迷 >> 综合 >> .net core3.1项目部署到linux的docker
  详细解决方案

.net core3.1项目部署到linux的docker

热度:63   发布时间:2023-09-11 16:49:18.0

前言

本项目作为一个练手项目,既然.net core是为了跨平台而生,那我们就做一个项目部署在linux中,废话不多说,直接开始做我们的项目

环境准备

vs2019+.net core 3.1+linux+docker

准备一个简单.net core的API项目

使用vs2019创建个.net core的web应用程序,特别注意要勾选启用Docker支持,会帮我们创建一个Dockerfile文件(后面会用到)
.net core3.1项目部署到linux的docker
新建个默认的api控制器,会自带get/post/put的方法
.net core3.1项目部署到linux的docker
编译发布到文件夹
.net core3.1项目部署到linux的docker
.net core3.1项目部署到linux的docker

编写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-启动镜像的默认人口命令

编译发布
.net core3.1项目部署到linux的docker

部署到docker中

不懂docker怎么安装到linux的朋友请参考这篇教程文章CentOS Docker安装

1、拷贝到linux服务器,这里我用的是FileZilla工具
.net core3.1项目部署到linux的docker
2、构建镜像
在构造之前,先测试下当前dll是否有效
.net core3.1项目部署到linux的docker

如果提示dotnet命令不可使用,请参考请参考官网配置.net core sdk 安装
查看版本,测试是否安装成功。

[root@localhost ~]# dotnet --version
3.1.402