前言

前期准备

win10 (不要安装hyper-V)

VMware-Workstation-Pro/15.0

Xshell6 (非必需)

VS2019

以上环境请自行安装 都是默认安装没什么可说的 不会的话可以百度

在VM安装centos7

首先下载centos7 的镜像

镜像地址 选择网易镜像 下载快

http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso

镜像配置

1.创建虚拟机=> 选择自定义

...(这里省略步骤 默认安装就行)

2.安装来源 =>安装程序光盘映像文件 选择刚刚下载centos7

...

3.处理器配置最好选择2x2 内存最好是2048MB以上 后面的磁盘空间最好是40GB

...

4.网络连接 使用桥接网络 这个很重要

...

5.完成即可

然后启动

安装向导

1.出现如图所示页面 鼠标移入 选择上键 点击enter (鼠标移出 ctrl+alt)

2.enter 直到出现安装向导的图形化界面

3.选择中文 中文简体 继续(在最下面)

4.在这里进入安装位置 点击完成

5.再进入网络和主机名页面 打开以太网 再点击完成 开始安装



6.设置ROOT密码 (如果密码太短的话 需要点击完成 两次)

7.接下来等待安装完成 (大致5-10分钟吧) 点击重启按钮即可

8.输入用户名root 和自己设置的密码

9.然后输入命令 ip a 得到网络地址

连接Xshell

1.新建 名称和主机都填入ip地址 然后添加连接

2.然后会弹出ssh安装警告 选择接受并保存

3.输入用户名root 并勾选记住用户名

4.输入密码 并勾选记住密码

5.然后就可以进入命令行模式了

安装docker

# 更新
yum -y update
# 下载docker的依赖环境
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum -y install docker-ce
# 启动docker 服务
systemctl start docker
# 设置开机自动启动
systemctl enable docker
# 测试
docker run hello-world

出现如下所示表示成功

安装一些软件保证后续的操作

yum install -y vim
yum install -y unzip
# xshell传输文件
yum install -y lrzsz

创建netcore简单示例

1.打开vs2019 新建项目

2.选择asp.netcore web应用程序 项目模板

  1. 选择web应用程序(模板视图控制器) 勾选https配置

    勾选启用docker支持 并选择linux环境

  1. 创建项目

  2. 切换启动方式 启动项目

7.正常启动

上传文件

1.关闭程序 关闭vs2019 来到项目文件位置

将Dockerfile 文件移动到和.sln文件一个文件夹之下

2.Dockerfile文件内容

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["NetCoreSample/NetCoreSample.csproj", "NetCoreSample/"]
RUN dotnet restore "NetCoreSample/NetCoreSample.csproj"
COPY . .
WORKDIR "/src/NetCoreSample"
RUN dotnet build "NetCoreSample.csproj" -c Release -o /app/build FROM build AS publish
RUN dotnet publish "NetCoreSample.csproj" -c Release -o /app/publish FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "NetCoreSample.dll"]

3.压缩为zip文件

4.上传netcoresample.zip

cd /
# 创建目录来存放文件
mkdir workspace
cd workspace
# 上传文件(请选安装lrzsz)
rz -y # 解压文件到NetCoreSample
unzip NetCoreSample.zip -d NetCoreSample

安装dotnet环境

# 下载dotnet的环境 这两个地址同Dockerfile文件中的地址一样
# 这两个文件下面的文件地址很慢很慢很慢 我差不多用了一个下午 中间还断了好几次
docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
docker pull mcr.microsoft.com/dotnet/core/sdk:3.1-buster 下载完成之后使用这个命令查看
docker images

运行netcore示例

# 构建镜像
docker build -t netcoresample
# 查看
docker images

# 运行实例
docker run -it --rm -p 5000:80 --name netcore_sample netcoresample &

netcore_sample 是实例名

netcoresample 是前面创建的镜像名称

# 查看
docker ps

现在就可以回到本机在浏览器中访问centos7的ip地址+端口号 192.168.1.10:5000 得到和前面看到的一样的画面就成功了。

其他

# 删除镜像命令 注意可能有依赖关系,可能需要删除两个
docker rmi -f 镜像id
# 删除docker实例
docker kill 实例id

后记

更多docker命令 请关注博主的其他文章

本文章只是演示一种部署方式 更多方式请关注博主的其他文章

如需要软件 请在下面留言

如有错误和问题 请在下方留言

asp.net core 应用docke部署到centos7的更多相关文章

  1. asp.net core 2.1 部署 centos7

    asp.net core 2.1 部署 centos7 Kestrel 非常适合从 ASP.NET Core 提供动态内容. 但是,Web 服务功能不像服务器(如 IIS.Apache 或 Nginx ...

  2. Asp.Net Core在CentOS部署与注意

    部署具体步骤参考:将ASP.NET Core应用程序部署至生产环境中(CentOS7) 1.wwwroot是放静态文件的,Startup的配置里面要app.UseStaticFiles(); 2.在不 ...

  3. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  4. ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. ASP.NET Core 1.0 部署 HTTPS

    ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介 ...

  6. ASP.NET Core开发期间部署到IIS自定义主机域名并附加进程调试

    在.NET Framework环境下,我们经常会这么做 把一个web项目不经过发布直接部署到IIS里去,配置上主机名,修改一下hosts文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...

  7. asp.net core 2.1 部署IIS(win10/win7)

    asp.net core 2.1 部署IIS(win10/win7) 概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器 ...

  8. ASP.NET Core托管和部署Linux实操演练手册

    一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...

  9. ASP.NET Core使用TopShelf部署Windows服务

    asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是 ...

随机推荐

  1. SpringBoot2 整合FreeMarker模板,完成页面静态化处理

    本文源码:GitHub·点这里 || GitEE·点这里 一.页面静态化 1.动静态页面 静态页面 即静态网页,指已经装载好内容HTML页面,无需经过请求服务器数据和编译过程,直接加载到客户浏览器上显 ...

  2. django-rest-framework-源码解析002-序列化/请求模块/响应模块/异常处理模块/渲染模块/十大接口

    简介 当我们使用django-rest-framework框架时, 项目必定是前后端分离的, 那么前后端进行数据交互时, 常见的数据类型就是xml和json(现在主流的是json), 这里就需要我们d ...

  3. mybatis连接池

    连接池 在 Mybatis 中,数据源 dataSource 共有三类,分别是: UNPOOLED : 不使用连接池的数据源.采用传统的 javax.sql.DataSource 规范中的连接池,My ...

  4. Object#wait()与Object#wait(long)的区别

    例子 例1 最基础的等待-通知 下面一个例子,一个线程"waiting"在同步代码块调用了Object#wait()方法,另一个线程"timedWaiting" ...

  5. 蒲公英 · JELLY技术周刊 Vol.16 谷歌首个线上 Web 开发者大会

    蒲公英 · JELLY技术周刊 Vol.16 近期,谷歌有史以来的第一次线上谷歌 Web 开发者大会,Web Vitals.PWA.DevTools 和 Lighthouse 6.0 等一系列特性或产 ...

  6. isinstance方法判断可迭代和迭代器

    from collections import Iterable print(isinstance([],Iterable)) print(isinstance( {}, Iterable)) pri ...

  7. PHP array_rand() 函数

    实例 返回一个包含随机键名的数组: <?php $a=array("red","green","blue","yellow& ...

  8. Skill 中的通用输出格式规范

    https://www.cnblogs.com/yeungchie/ Skill中的通用输出格式规范 Common Output Format Specifications Format Specif ...

  9. 5.29 省选模拟赛 树的染色 dp 最优性优化

    LINK:树的染色 考场上以为这道题要爆蛋了 没想到 推出正解来了. 反正是先写了爆搜的 爆搜最近越写越熟练了 容易想到dp 容易设出状态 f[i][j]表示以i为根的子树内白色的值为j此时黑色的值怎 ...

  10. hdu6787(骰子+往回推的传输带问通过方案,dp)

    题:http://acm.hdu.edu.cn/showproblem.php?pid=6787 题意:有1~n标号的格子,上面有m个传输带(传送带传的位置要传到之前去,1位置不能有格子)1~11的骰 ...