asp.net core 应用docke部署到centos7
前言
前期准备
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应用程序 项目模板
选择web应用程序(模板视图控制器) 勾选https配置
勾选启用docker支持 并选择linux环境
创建项目
切换启动方式 启动项目
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的更多相关文章
- asp.net core 2.1 部署 centos7
asp.net core 2.1 部署 centos7 Kestrel 非常适合从 ASP.NET Core 提供动态内容. 但是,Web 服务功能不像服务器(如 IIS.Apache 或 Nginx ...
- Asp.Net Core在CentOS部署与注意
部署具体步骤参考:将ASP.NET Core应用程序部署至生产环境中(CentOS7) 1.wwwroot是放静态文件的,Startup的配置里面要app.UseStaticFiles(); 2.在不 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- 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= ...
- 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日. 在目前介 ...
- ASP.NET Core开发期间部署到IIS自定义主机域名并附加进程调试
在.NET Framework环境下,我们经常会这么做 把一个web项目不经过发布直接部署到IIS里去,配置上主机名,修改一下hosts文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...
- 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服务器 ...
- ASP.NET Core托管和部署Linux实操演练手册
一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...
- ASP.NET Core使用TopShelf部署Windows服务
asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是 ...
随机推荐
- 17 个 Python 特别实用的操作技巧,记得收藏!
Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等 ...
- [jvm] -- 类加载过程篇
类加载过程 系统加载 Class 类型的文件主要三步 加载 通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class对象, ...
- shell脚本带参数启动项目
用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置 ...
- 用友U8API 8.9-15.0接口开发前提,选好开发方式
在用友接口开发这条路上,走走停停过了好几年.对于如何选择哪种方式,目前总结几点, 对于开发,目前可以实现的有三种方式 一.是通过用友官方提供的(EAI/API)接口 这种方式的优点 ...
- Django学习路36_函数参数 反向解析 修改404 页面
在 templates 中创建对应文件名的 html 文件 (.html) 注: 开发者服务器发生变更是因为 python 代码发生变化 如果 html 文件发生变化,服务器不会进行重启 需要自己手动 ...
- 如何在 UltraEdit 删除空行(含空格,制表符)
如何在 UltraEdit 删除空行(含空格,制表符) 打开UltraEdit,ctrl+r弹出替换对话框,点选启用正则表达式方法1:在查找框输入 ^p^p:在替换框输入 ^p执行全部替换:这种方法是 ...
- Python 字典(Dictionary) clear()方法
Python 字典(Dictionary) clear()方法 描述 Python 字典(Dictionary) clear() 函数用于删除字典内所有元素.高佣联盟 www.cgewang.com ...
- PHP sscanf() 函数
实例 Parse a string: <?php高佣联盟 www.cgewang.com$str = "age:30 weight:60kg";sscanf($str,&qu ...
- Nginx使用中遇到的问题记录
问题一.关于空格 nginx配置对空格十分敏感,在关键字和符号的前后,一定记得有空格(或换行).一个典型的场景是 if { } 语句,大括号前后要有空格,否则可能出现非预期行为. 问题二.关于serv ...
- 简单配置iOS的通用链接,迅速解决“universal link 校验不通过”问题!
对于需要使用微信支付等功能的APP来说,对接微信提供的openSDK是不可缺少的一环.随着苹果iOS 13系统版本的安全升级,为此openSDK在1.8.6版本进行了适配.1.8.6之后的openSD ...