前言

前期准备

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. 17 个 Python 特别实用的操作技巧,记得收藏!

    Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等 ...

  2. [jvm] -- 类加载过程篇

    类加载过程 系统加载 Class 类型的文件主要三步 加载 通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class对象, ...

  3. shell脚本带参数启动项目

    用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置 ...

  4. 用友U8API 8.9-15.0接口开发前提,选好开发方式

    在用友接口开发这条路上,走走停停过了好几年.对于如何选择哪种方式,目前总结几点, 对于开发,目前可以实现的有三种方式       一.是通过用友官方提供的(EAI/API)接口     这种方式的优点 ...

  5. Django学习路36_函数参数 反向解析 修改404 页面

    在 templates 中创建对应文件名的 html 文件 (.html) 注: 开发者服务器发生变更是因为 python 代码发生变化 如果 html 文件发生变化,服务器不会进行重启 需要自己手动 ...

  6. 如何在 UltraEdit 删除空行(含空格,制表符)

    如何在 UltraEdit 删除空行(含空格,制表符) 打开UltraEdit,ctrl+r弹出替换对话框,点选启用正则表达式方法1:在查找框输入 ^p^p:在替换框输入 ^p执行全部替换:这种方法是 ...

  7. Python 字典(Dictionary) clear()方法

    Python 字典(Dictionary) clear()方法 描述 Python 字典(Dictionary) clear() 函数用于删除字典内所有元素.高佣联盟 www.cgewang.com ...

  8. PHP sscanf() 函数

    实例 Parse a string: <?php高佣联盟 www.cgewang.com$str = "age:30 weight:60kg";sscanf($str,&qu ...

  9. Nginx使用中遇到的问题记录

    问题一.关于空格 nginx配置对空格十分敏感,在关键字和符号的前后,一定记得有空格(或换行).一个典型的场景是 if { } 语句,大括号前后要有空格,否则可能出现非预期行为. 问题二.关于serv ...

  10. 简单配置iOS的通用链接,迅速解决“universal link 校验不通过”问题!

    对于需要使用微信支付等功能的APP来说,对接微信提供的openSDK是不可缺少的一环.随着苹果iOS 13系统版本的安全升级,为此openSDK在1.8.6版本进行了适配.1.8.6之后的openSD ...