按网上的做法用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网站.....
相关推荐
6. ASP.NET Core RC 1 版本特性:ASP.NET Core RC 1 版本中引入了隐式命名空间引用的功能,可以通过 ImplicitUsings 属性来启用或禁用该功能。 7. 项目文件结构:.NET 6 RC 1 版本中,项目文件的结构发生了变化,...
ASP.NET 编程知识 - 利用 DockerCompose 搭建AspNetCore 开发环境 本文旨在介绍如何使用 DockerCompose 搭建 AspNetCore 开发环境,以便更好地管理和维护项目。我们将使用 DockerCompose 将多个 Docker 容器组合...
- **容器化与Docker**:为了进一步提高部署的灵活性,.NET Core微服务常与Docker容器结合,通过Dockerfile定义服务的运行环境,简化部署和扩展过程。 综上所述,".NET Core 微服务框架演示Demo"是一个全面展示.NET ...
发布ASP.NET Core项目 和普通的项目发布一样,将项目发布到目标文件夹中 构建Dockerfile文件 在目标文件根目录新建Dockerfile文件(没有后缀) FROM microsoft/dotnet//基于'microsoft/dotnet' 来构建镜像 COPY ....
8. **热重载**:在开发环境中,可能会集成热重载功能,使得React组件或ASP.NET Core代码修改后能够即时刷新,提高开发效率。 综上所述,"template-asp-net-core-react-redux"是一个综合了现代web开发技术的项目模板...
标题中的“rioja-dotnet-2017-starting-with-aspnet-core”是指一个关于ASP.NET Core的讲座活动,该活动在2017年于La Rioja国家新技术培训中心(ThinkTic)举行。这个活动的目标是帮助开发者入门ASP.NET Core,这是...
ASP.NET包括多个版本,如ASP.NET Core和ASP.NET Framework,其中ASP.NET Core是跨平台的,而ASP.NET Framework主要面向Windows。这个源码可能基于其中的一个或两个版本。 Vagrant通过使用VirtualBox或VMware等虚拟...
9. **部署和持续集成**:项目可能包含Dockerfile和发布配置,以便于在各种环境中部署应用,如本地IIS、Azure云服务或者Docker容器。 通过深入研究Asp.Net Core-Online-shopping-app-master的源码,开发者可以学习到...
总的来说,"DealOrNoDeal"是一个涵盖了后端开发、API交互、持续集成与部署等多个关键领域的项目,对于提升开发者在ASP.NET Core和C#环境下的综合能力大有裨益。通过实际操作,开发者可以深入了解Web应用的生命周期...
它需要一个示例ASP.NET Core MVC应用程序,创建其Dockerfile,然后创建Kubernetes部署对象。 Dockerfile用于从源代码构建应用程序。 然后在docker容器中运行该应用程序。 YAML文件中定义的k8s对象用于将应用程序...
7. **Docker容器化**: .Net Core 3.1支持Docker,eShopSolution可能提供Dockerfile,使得开发者能够快速部署和运行项目。 8. **持续集成/持续部署(CI/CD)**: 使用Git等版本控制系统,配合Jenkins或Azure DevOps等...
7. **Dockerfile**:如果存在,说明项目支持使用Docker进行容器化部署,可以快速在不同环境中运行。 8. **NuGet包引用**:项目可能会引用一系列NuGet包来扩展功能,如Microsoft.AspNetCore.*系列库用于构建ASP.NET ...
8. **Docker支持**:ASP.NET 5与Docker容器兼容,OneManBlog项目很可能可以通过Dockerfile部署到Docker容器中,实现快速、一致的部署。 9. **项目结构**:项目结构更加扁平化,每个功能模块都有自己的目录,如...
4. **ASP.NET Core**:掌握如何使用ASP.NET Core构建微服务,包括路由、控制器、模型绑定、身份验证和授权、日志记录和错误处理。 5. **Docker**:理解Docker容器的概念,学习Dockerfile编写,用于定义服务的构建...
本文将详细介绍如何利用docker-compose来搭建一个包含多个服务(如ASP.NET Core应用程序、Redis缓存和SQL Server)的开发环境。 首先,我们需要了解docker-compose,它是Docker的一个工具,允许我们通过YAML文件...
9. **Docker支持**: .NET Core 3.1和ASP.NET Core都支持Docker容器化部署,使得应用可以在各种环境中无缝运行。 10. **持续集成/持续部署(CI/CD)**: 开发过程中,可能使用Git进行版本控制,配合Jenkins、Azure ...
它需要一个示例 ASP.NET Core MVC 应用程序,创建其 Dockerfile,然后是 Kubernetes 部署对象。 Dockerfile 用于从源代码构建应用程序。 然后在 docker 容器内运行该应用程序。 YAML 文件中定义的 k8s 对象用于将...
2. **跨平台**: .NET Core 支持 Windows、Linux 和 macOS,这意味着你可以使用相同的代码在多种操作系统上运行应用。 3. **ASP.NET Core**: 用于构建 Web 应用和服务的框架,基于 .NET Core,具有高性能和模块化设计...