本文只是记录 .net core 3.1 项目的基本部署方法,灵活应对不同情况与需求

工具:VS 2019

     Linux CentOS 7 x64

   Xshell

      Xftp

Docker 安装配置可参考:Docker 安装、配置

1、新建项目

创建新项目

选择 ASP.NET Core Web 应用程序,下一步

设置项目名称,存储位置,解决方案名称,创建

选择 .NET Core,ASP.NET Core 3.1,Web 应用程序(模型视图控制器),可以勾选启用 Docker 支持选择 Linux(如果勾选 Enable Razor runtime compilation 则在修改页面,浏览时会自动编译),创建

开始执行(Ctrl + F5),测试项目,如果启用 Docker 支持,又没有安装 Docker 的话,就选择项目运行或 IIS Express

2、发布

Web 项目正常运行后,右键项目,选择发布

发布目标选择文件夹,下一步

选择文件夹(根据需求),完成

编辑目标运行时(根据需求),目标框架选择 netcoreapp3.1,部署模式选择框架依赖,目标运行时选择 linux-x64(根据要部署的服务器),保存

发布

3、将发布目录发布上传到 Linux

可以使用 Xshell 连接 Linux ,使用 Xftp 将文件上传

4、 准备 Dockerfile 文件,如果创建项目是没有启动 Docker 支持,可通过右键项目 -> 添加 -> Docker 支持

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1      #基于此镜像来构建镜像
WORKDIR /app  #设置工作目录,容器默认启动文件夹
EXPOSE 5000   #设置 Docker 容器对外暴露 5000 端口 COPY . .     #复制发布目录下的文件到工作目录,注意两个点之间有空格
ENTRYPOINT ["dotnet", "WebDockerTest.dll"]  #运行应用程序

将 Dockerfile 文件修改好也上传到发布目录下

注:VS 自动生成的 Dockerfile 适用于将整个项目上传至 Linux 并在Linux上编译发布并制作成镜像。也是一种部署方式,可参考微软的官方文档

5、生成镜像

Linux 进入发布目录

docker build -t <镜像Tag名称> Dockerfile .     #这里的 . 代表当前目录,其中 Dockerfile 文件名为 Dockerfile 时可省略
eg:
$ docker build -t webdockertest .

6、创建运行仓库

docker run -d -p<对外端口>:<Docker端口> <镜像Tag> #参数 -d 表示在后台运行 -p参数代表将外部端口映射到内部端口 
eg:
$ docker run -d -p5000:5000 webdockertest

正常情况下可使用 docker ps 看到 STATUS 为 Up... ,可以通过 IP:5000 访问到

正在完善中

Linux CentOS Docker Asp.net Core MVC 模板项目的部署的更多相关文章

  1. 使用Asp.Net Core MVC 开发项目实践[第五篇:缓存的使用]

    项目中我们常常会碰到一些数据,需要高频率用到但是又不会频繁变动的这类,我们就可以使用缓存把这些数据缓存起来(比如说本项目的导航数据,帖子频道数据). 我们项目中常用到有Asp.Net Core 本身提 ...

  2. 使用Asp.Net Core MVC 开发项目实践[第一篇:项目结构说明]

    先从下图看整体项目结构: Mango.Manager: 为后台管理项目 Mango.Web: 为前台项目 Mango.Framework.Core: 为常用的基础操作类项目 Mango.Framewo ...

  3. 使用Asp.Net Core MVC 开发项目实践[第二篇:EF Core]

    在项目中使用EF Core还是比较容易的,在这里我们使用的版本是EF Core 2.2. 1.使用nuget获取EF Core包 这个示例项目使用的是SQLSERVER,所以还需要下载Microsof ...

  4. 使用Asp.Net Core MVC 开发项目实践[第四篇:基于EF Core的扩展2]

    上篇我们说到了基于EFCore的基础扩展,这篇我们讲解下基于实体结合拉姆达表达式的自定义更新以及删除数据. 先说下原理:其实通过实体以及拉姆达表达式生成SQL语句去执行 第一种更新扩展: 自定义更新字 ...

  5. 使用Asp.Net Core MVC 开发项目实践[第三篇:基于EF Core的扩展]

    上篇我们说到了EFCore的基础使用,这篇我们将讲解下基于EFCore的扩展. 我们在Mango.Framework.EFCore类库项目中创建一个类名EFExtended的扩展类,并且引入相关的命名 ...

  6. ASP.NET Core MVC 在linux上的创建及发布

    前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...

  7. Docker & ASP.NET Core (4):容器间的连接

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 Docker容器间的连接 Docker提供了两种方式可以用来做容器间的连接/通信: Legacy Linking:这种方式使用 ...

  8. 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-1

    来个目录吧: 第一章 第二章 第三章 暂时就这么多.后面路线更新吧 本系列文章为翻译加上我个人的使用心得理解,希望帮助热爱学习的程序员. 珍重声明:本系列文章会跟原文有点出入,去掉了罗里吧嗦的文字. ...

  9. ASP.NET Core MVC+EF Core从开发到部署

    笔记本电脑装了双系统(Windows 10和Ubuntu16.04)快半年了,平时有时间就喜欢切换到Ubuntu系统下耍耍Linux,熟悉熟悉Linux命令.Shell脚本以及Linux下的各种应用的 ...

  10. Pro ASP.Net Core MVC 6th 第四章

    第四章 C# 关键特征 在本章中,我描述了Web应用程序开发中使用的C#特征,这些特征尚未被广泛理解或经常引起混淆. 这不是关于C#的书,但是,我仅为每个特征提供一个简单的例子,以便您可以按照本书其余 ...

随机推荐

  1. vue项目,npm run dev的时候出现:Error: error:0308010C:digital envelope routines::unsupported

    vue项目,npm run dev的时候出现:Error: error:0308010C:digital envelope routines::unsupported 这个是node的版本问题.我的n ...

  2. C++ primer笔记 -基本语言

    C++最重要的特征是类,程序员可以使用类自定义数据类型,C++有时候将这些类型称为"类类型",以区别于内置类型. 类型作用: 1.告诉我们数据代表的是什么意思 2.对数据可以执行哪 ...

  3. 记一次couchbase(memcached)安装以及使用

    环境 CentOs 6.5 final 1.下载软件包 wget http://packages.couchbase.com/releases/2.1.0/couchbase-server-enter ...

  4. 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案

    var threeSumClosest = function(nums, target) { let ans = nums[0] + nums[1] + nums[2]; const len = nu ...

  5. Word08 创新产品展示说明会邀请函office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  6. (读书笔记)基于CMMI的软件工程及实训指导------第一章软件工程基础

    第一章------软件工程基础 1.软件工程基本原理 (1)按照软件生命周期的阶段划分制订计划,严格依据计划进行管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5 ...

  7. FTP替代传输方案的优异性体现在哪些方面?

    多年来,FTP一直是最常见的交换文件的方式,FTP-FTPS-SFTP似乎是FTP的不断迭代更新,但是究竟是技术更新导致FTP过时?还是它真的已经满足不了企业的需求了? 之前,大家选择FTP往往是因为 ...

  8. LP1-3:一支钢笔的测试

    UI: 长.宽 .高 钢笔:笔身.笔尖.笔帽 功能: 写字:出水量比较合适 笔帽能扣上,不容易掉 钢笔笔夹 打水 笔尖的粗细程度 容错性: 不能漏水 易用性: 是否光滑 笔尖是否可以换 笔囊是否可以换 ...

  9. 在vue js中for循环使用

    在线免费图片压缩工具 前端技术站 1.for(let item of response.data.result) { 用item操作每一条数据. } item:定义的每一条的变量 response.d ...

  10. IE 浏览器element-ui table: show-overflow-tooltip 临界值时失效

    问题: 在使用el-table表格时,有时会用到show-overflow-tooltip属性,即当单元格内容不能完全显示时显示tooltip文字提示,并且单元格里的内容显示省略号. 但是在ie浏览器 ...