概述
前言
本项目作为一个练手项目,既然.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"]
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
访问正常,关闭网站,开始构建镜像:
进入当前程序目录,输入构建命令
[root@localhost publish]# docker build -t test-demo .
build 命令参数:
-t --指定镜像名称 (只能小写)
. --表示build上下文为当前目录,默认情况docker会使用上下文的根目录找到Dockerfile文件
3、创建并启动容器
[root@localhost publish]# docker run --name myfirstApi -d -p 5000:80 test-demo
run命令参数:
-d --表示在后台以守护态(daemonized)形式运行容器
-p --外部端口与内部容器端口映射。
--name 指定容器的名称。当然可以不指定,默认会为我们创建
最后一个参数 test-demo 就是我们刚创建的镜像名称
4、检查docker容器列表
[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 core3.1项目部署到linux的docker前言环境准备准备一个简单.net core的API项目编写Dockerfile文件并发布部署到docker中测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复