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

简介: 按网上的做法用dockerfile文件是可以弄得出来的,http://www.docker.org.cn/article/119.html, 不过我想把网站文件放在外面硬盘目录,再映射进去,这样只要在硬盘目录中修改CSHTML文件后重启一下容器就行了 步骤如下: 1.

按网上的做法用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网站.....

目录
相关文章
|
4月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:<https://github.com/khellang/Scrutor>
96 5
|
1月前
|
Kubernetes Docker 容器
Kubernetes与Docker参数对照:理解Pod中的command、args与Dockerfile中的CMD、ENTRYPOINT。
需要明确的是,理解这些都需要对Docker和Kubernetes有一定深度的理解,才能把握二者的区别和联系。虽然它们都是容器技术的二个重要组成部分,但各有其特性和适用场景,理解它们的本质和工作方式,才能更好的使用这些工具,将各自的优点整合到生产环境中,实现软件的快速开发和部署。
86 25
|
4月前
|
NoSQL Java Linux
《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
360 76
|
5月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
6643 13
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
4月前
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
108 1
|
5月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
100 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
4月前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
102 9
|
4月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
102 3
|
5月前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
339 4
|
6月前
|
Docker 容器
docker中使用Dockerfile自动创建数据卷
【10月更文挑战第12天】
82 5
下一篇
oss创建bucket