我是靠谱客的博主 纯真含羞草,这篇文章主要介绍.net core3.1项目部署到linux的docker前言环境准备准备一个简单.net core的API项目编写Dockerfile文件并发布部署到docker中测试,现在分享给大家,希望可以做个参考。

前言

本项目作为一个练手项目,既然.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指令
镜像操作指令
容器启动时执行指令

复制代码
1
2
3
4
5
6
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 COPY . . ENTRYPOINT ["dotnet", "TestAPI.dll"]

dockerfile文件指令说明:

FROM -指定所创建镜像的基础镜像
WORKDIR-配置工作目录
EXPOSE-声明镜像内服务监听的端口
COPY-复制内容到镜像
ENTRYPOINT-启动镜像的默认人口命令

编译发布
在这里插入图片描述

部署到docker中

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

1、拷贝到linux服务器,这里我用的是FileZilla工具
在这里插入图片描述
2、构建镜像
在构造之前,先测试下当前dll是否有效
在这里插入图片描述

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

复制代码
1
2
3
4
[root@localhost ~]# dotnet --version 3.1.402

访问正常,关闭网站,开始构建镜像:

复制代码
1
2
3
进入当前程序目录,输入构建命令 [root@localhost publish]# docker build -t test-demo .

build 命令参数:

复制代码
1
2
3
-t --指定镜像名称 (只能小写) . --表示build上下文为当前目录,默认情况docker会使用上下文的根目录找到Dockerfile文件

3、创建并启动容器

复制代码
1
2
3
[root@localhost publish]# docker run --name myfirstApi -d -p 5000:80 test-demo

run命令参数:

复制代码
1
2
3
4
5
-d --表示在后台以守护态(daemonized)形式运行容器 -p --外部端口与内部容器端口映射。 --name 指定容器的名称。当然可以不指定,默认会为我们创建 最后一个参数 test-demo 就是我们刚创建的镜像名称

4、检查docker容器列表

复制代码
1
2
3
4
5
[root@localhost publish]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4064ae15311e test-demo "dotnet TestAPI.dll" 3 seconds ago Up 3 seconds 0.0.0.0:5000->80/tcp myfirstApi

测试

在这里插入图片描述

最后

以上就是纯真含羞草最近收集整理的关于.net core3.1项目部署到linux的docker前言环境准备准备一个简单.net core的API项目编写Dockerfile文件并发布部署到docker中测试的全部内容,更多相关.net内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部