一、前言

  在公司新项目中,果断选择使用asp.net core,通过实践学习一系列技术栈:docker、docker-nginx、docker-compose、Jenkins,本文主要是介绍如何将项目部署在Docker当中。

二、环境说明和使用工具

  •   Linux version 5.4.0-42
  •   Ubuntu 20.04.1 LTS
  •  Docker 19.03.12
  • ASP.NET Core 3.1
  •   MobaXterm_Portable_v20.3

三、Docker部署                               

docker安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

查看docker是否安装成功:

docker -v

在项目中添加文件名称为dockerfile文件,切记文件没有后缀名!

dockerfile文件内容   此镜像支持SQL Server 2008 R2 SP3 版本

#添加.nencore3.1基础镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic AS base
#容器工作目录
WORKDIR /app #指定项webapi或mvc站点的内部启动端口,默认是80
#ENV ASPNETCORE_URLS http://+:50001 #暴露docker容器端口
EXPOSE 9000 #拷贝发布目录下的所有文件到容器的工作根目录
COPY . .
#COPY ./ ./ #容器入口点
ENTRYPOINT ["dotnet", "WebApplication2.dll"]

选中项目右键发布,选择文件系统。

将发布得项目文件使用MobaXterm_Portable工具上传到服务器中。

需要在服务器上安装SSH。

sudo apt-get install sshd 

开启SSH服务

service sshd start

防火墙中添加22端口号

sudo ufw allow 22

查看端口

Sudo ufw status

打开Mob工具,右键New Session,输入IP地址通过SSH连接到服务器。

右键新建文件夹,将项目发布文件上传到文件夹中。

进入到项目文件所在文件夹中

cd /home/cs-root/Server/Test/

构建镜像文件

docker build -t 镜像名称 .

查看镜像

docker images

创建容器

docker run -d -p 9000(对外端口):80(程序端口) 镜像名称

查看正在运行的容器

docker ps -a

博客新手,如有不对的地方请大佬们指出。

到此docker 部署ASP.NET Core项目就结束了,但是每次项目更新都要停止容器、删除容器、删除镜像和重新构建镜像等重复工作,感觉好累阿,下一文章将介绍使用docker-compose管理镜像和容器,一个指令即可更新镜像和运行容器。

ASP.NET Core 部署在Docker容器当中(1)的更多相关文章

  1. 如何将 asp.net core 应用进行 docker 容器部署

    asp.net core 部署在 docker 容器中比较简单,但常因asp.net core程序发布的问题造成容器无法正常启动.现在把详细的操作的步骤记录如下: 一.asp.net core web ...

  2. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  3. asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

    在 asp.net core 发布时,本人先后产生了3个疑问. 1.发布的程序为什么不能在docker容器中运行 当时在window开发环境中发布后,dotnet xxx.dll可以正常运行:但放入d ...

  4. 我用asp.net core 部署到docker遇到的问题

    1.怎么部署 我是用文件的形式先发布出来,然后把文件拷贝到服务器上部署到docker中去. 2.端口映射 根据查找到的资料,dockerfile 是不支持指定映射服务器端口的,只能在run的时候用-p ...

  5. 阿里云容器服务与ASP.NET Core部署:用 docker secrets 保存 appsettings.Production.json

    这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 —— 如果将包含敏感信息的应用配置文件 appsettings.Production.json ...

  6. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  7. 系列13 docker asp.net core部署

    一.介绍   本篇完整介绍asp.net core web api如何部署到docker容器中,并通过外部访问web api服务.在编写完成dockerfile之后,可以通过docker [image ...

  8. .NET core 部署到Docker +Docker Protainer管理实现

    .NET core 部署到Docker +Docker Protainer管理实现 上次说到将.net core的应用程序发布到Linux中(https://www.cnblogs.com/Super ...

  9. .net4.5部署到docker容器

    .net4.5部署到docker容器 部署到windows容器 部署到linux容器 部署到windows容器 由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合, ...

  10. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWor ...

随机推荐

  1. [编程基础] Python lambda函数总结

    Python lambda函数教程展示了如何在Python中创建匿名函数.Python中的匿名函数是使用lambda关键字创建的. 文章目录 1 介绍 1.1 简单使用 1.2 Python lamb ...

  2. 多项式 I:拉格朗日插值与快速傅里叶变换

    1. 复数和单位根 前置知识:弧度制,三角函数. 1.1 复数的引入 跳出实数域 \(\mathbb R\),我们定义 \(i ^ 2 = -1\),即 \(i = \sqrt {-1}\),并在此基 ...

  3. Spring Boot 3.0横空出世,快来看看是不是该升级了

    目录 简介 对JAVA17和JAVA19的支持 record Text Blocks Switch Expressions instanceof模式匹配 Sealed Classes and Inte ...

  4. python之路24之 面向对象动静态方法、继承、派生

    昨日内容回顾 人狗大战 1.直接使用字典表示人和狗 p1 = {} p2 = {} p3 = {} p4 = {} 2.封装产生人和狗的函数 def crreate_person():pass def ...

  5. MarkDown语法----纯文本格式的标记语言

    一.基本语法 1.标题 一级标题: "# + 空格 + 标题内容" 二级标题: "## + 空格 + 标题内容" .... 2.字体 粗体: "**+ ...

  6. [LeetCode]最大连续1的个数

    题目 代码 class Solution { public: int findMaxConsecutiveOnes(vector<int>& nums) { int length= ...

  7. [数据结构]深度优先搜索算法(Depth-First-Search,DFS)

    深度优先搜索算法的概念 与广度优先搜索算法不同,深度优先搜索算法类似与树的先序遍历.这种搜索算法所遵循的搜索策略是尽可能"深"地搜索一个图.它的基本思想如下:首先访问图中某一个起始 ...

  8. 【Vue3.0】关于 script setup 语法糖的用法

    script setup - 简介 先来看一看官网关于 <script setup> 的介绍: 要彻底的了解 setup 语法糖,你必须先明确 setup() 这个 组合式API 官网中对 ...

  9. P3934 [Ynoi2016] 炸脖龙 I

    题面 给一个长为 \(n\) 的序列,\(m\) 次操作,每次操作: 1.区间 \([l,r]\) 加 \(x\) 2.对于区间 \([l,r]\),查询: \[a[l]^{a[l+1]^{a[l+2 ...

  10. 【Allwinner】---全志GPIO号 计算

    全志的GPIO号在 sunxi-gpio.h 中定义 sunxi-gpio.h1二.GPIO号定义#define SUNXI_PA_BASE 0#define SUNXI_PB_BASE 32#def ...