ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)

按网上的做法用dockerfile文件是可以弄得出来的,http://www.docker.org.cn/article/119.html,

不过我想把网站文件放在外面硬盘目录,再映射进去,这样只要在硬盘目录中修改CSHTML文件后重启一下容器就行了

步骤如下:

1. vs中建立ASP.NET CORE网站,类名为coreweb1

2. 发布到c:\temp\coreweb1目录

3. 先在本地CMD命令行测试一下是否成功,cd c:\temp\coreweb1 , 再运行docnet coreweb1.dll

4. 不出意外应该没错,浏览器输入http://localhost:5000 可以访问网站

5. 退出命令行工具,开始进行docker镜像部署,前提是先装好docker,如果映射本地端口是80则记得先把IIS停了(如果你装了IIS的话)

6. 命令行CMD中输入docker命令 docker run -p 8001:80 -v c:/temp/coreweb1:/wwwroot -w /wwwroot/ microsoft/aspnetcore dotnet /wwwroot/coreweb1.dll

        解释下上面的命令:运行docker容器,名字叫microsoft/aspnetcore,这是微软官方的asp.net core镜像,映射本地端口8001到容器内的80端口,把本地目录c:/temp/coreweb1 映射为容器里的 /wwwroot 目录 , 把容器内的工作目录 设置为 /wwwroot/ ,容器运行起来后再运行命令 dotnet /wwwroot/coreweb1.dll

7. 如果不报错应该就能看到网站正在运行了,在外面浏览器中输入http://localhost:8001 应该就可以访问网站了,哪怕在命令行中按ctrl+c退出,但是实际上docker容器也是正在运行中,输入命令docker ps 可以看到正在运行的容器

8. vs中再创建另一个asp.net core网站,类名为coreweb2,发布到c:\temp\coreweb2,

9. 运行docker命令映射8002端口 :docker run -p 8002:80 -v c:/temp/coreweb2:/wwwroot -w /wwwroot/ microsoft/aspnetcore dotnet /wwwroot/coreweb2.dll

10. 这样二个core网站就部署起来了,浏览器分别输入http://localhost:8001 和 http://localhost:8002 就可以分别看到2个网站

11. 如果外面目录中的文件有修改,比如修改了c:/temp/coreweb1/views/home/index.cshtml文件, 则在命令行中重启docker容器后刷新浏览器才能看到修改后的效果 ,命令:docker restart 容器ID , 其中容器ID是通过 docker ps 查询出来的,前面第一列的就是,可以只输入开头几个字母

   

总结:我有一个梦想,在XX云上要一个最便宜的单核1G内存的linux服务器,装上nginx和docker,然后通过 docker运行asp.net core网站 ,PHP网站,JSP网站,GO网站,PYTHON网站,NODE.JS网站.....

时间: 2024-11-27 21:49:01

ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)的相关文章

牛腩学ASP.NET CORE做博客(视频)

牛腩学习ASP.NET CORE做的项目,边学边做. 目录: 01-dotnetcore网站部署到centos7系统上(时长 2:03:16) 02-前期准备及项目搭建 (时长:0:23:35) 03-数据库设计及Dapper使用(时长:0:50:47) 04-后台博客文章增删改(时长:1:16:43) 05-LayUI分页的使用(时长:1:07:07) 06-博客查询功能和LayUI编辑器的使用(时长:1:16:11) 07-后台登录及前台整合(时长:1:00:37) 08-前台整合2(时长:

用asp.net (C#) 做一个网站,后台部分的身份认证是用session好呢? 还是用cookie好呢?

问题描述 用asp.net(C#)做一个网站,后台部分的身份认证是用session好呢?还是用cookie好呢?我以前用ASP的,只知道这两种,在ASP.NET(C#)中不知道大家是怎么用的?希望大家能给点帮助,谢谢 解决方案 解决方案二:这个网站如果要保存用户登录信息,方便用户以后再访问时,不用登录,那么就用Cookie否则就用Session吧.解决方案三:可以同时用啊.解决方案四:我一般用session解决方案五:反正MS有一个验证类..用什么我也搞不清..解决方案六:我一般后台管理用ses

小弟网上下载的ASP.NET网站运行链接不上数据库。求大神指点。

问题描述 谢谢.本人Q415249982,求大神帮忙. 解决方案 解决方案二:一般来说,看错误提示.估计像你这样的,什么都不会,代码也是从哪里剽窃来的.因此问题应该主要是数据库配置如果是找不到sql实例名,那么检查你的链接字符串的ip.实例名.sqlserver是否启用远程访问,防火墙.如果是sa登录失败,检查用户密码.权限.账户.解决方案三:ASP.NET网站如何链接数据库//Web.Config页面链接数据库信息<appSettings><addkey="conStr&qu

用vs2013做的网站运行时可以出来但发布时却出现问题

问题描述 "/"应用程序中的服务器错误.--------------------------------------------------------------------------------未将对象引用设置到对象的实例.说明:执行当前Web请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例.源错误:执行当前Web请求期间生成

Docker打包 Asp.Net Core应用,在CentOS上运行

本文主要介绍下运用docker虚拟技术打包Asp.net core应用. Docker作为一个开源的应用容器引擎,近几年得到广泛的应用,使用Docker我们可以轻松实现应用的持续集成部署,一次打包,到处运行. 开篇借用百科上对docker的介绍.     Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 方便大家学习: http://www

让我们 Core 在一起:ASP.NET Core &amp; .NET Core

Microsoft .NET 自 2002 年发行 v1.0 以来,已经过了近 14 个年头,在这 14 年里面,.NET 日渐成熟并成为 Microsoft 的重要开发平台之一,只要是在 Windows 平台上的相关应用,几乎都可以使用 .NET 以及所属的 C# 及 VB 语言来开发,虽然它一直没有真正的跨平台 (也可以说有,但只跨 Windows 生态圈的平台),不过 .NET 与 Visual Studio 的完美整合所产生的生产力,也是软件产业无法否认的强大,Visual Studio

Azure 部署 Asp.NET Core Web App

在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web App 服务是个很好的选择. 下面我们会通过 Visual Studio 创建一个 Asp.net Core demo 应用,然后把这个 demo 应用部署到 Azure Web App. 通过阅读本文,你将会了解到如何创建 Asp.NET Core 应用程序和如何在 Azure 上创建 Web Ap

Azure 上部署 ASP.NET Core Web App

前言 在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App 服务是个很好的选择. 下面我们会通过 Visual Studio 创建一个 ASP.NET Core demo 应用,然后把这个 demo 应用部署到 Azure Web App.通过阅读本文,您将能了解到如何创建 Asp.NET Core 应用程序和如何在Azure上创建 Web App

学习ASP.NET Core,你必须了解无处不在的“依赖注入”

ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费.换句话说,不只是ASP.NET Core底层框架使用的服务是由这个DI容器来注册和提供,应用级别的服务的注册和提供也需要以来这个DI容器,所以正如本文标题所说的--学习ASP.NET Core,你必须了解无