DOCKER上运行DOTNET CORE
下载microsoft/dotnet镜像
运行命令:
docker pull microsoft/dotnet
如果没有使用阿里镜像加速的,参照这篇先配置好再跑上面命令:
http://www.cnblogs.com/windchen/p/6231009.html
启动持久化容器
docker run -itd -p 5000:5000 microsoft/dotnet
-p用来添加Host跟Container的端口映射
创建.NET Core MVC项目
找到刚才启动容器的id:
docker ps
进入容器
docker attach [id]
创建及启动.NET Core MVC项目
mkdir MyFirstWeb cd MyFirstWeb dotnet new -t web dotnet restore dotnet run
使用博客园Nuget镜像加速
上面dotnet restore这一步可能会卡很久遇到超时的状况,因为Nuget在国外的原因,博客园有提供加速镜像,参照设定好之后,速度会快很多
http://www.cnblogs.com/windchen/articles/6235381.html
因为microsoft/dotnet镜像里面么有vi编辑器,所以改NuGet.Config文件需要在Host上改好之后再Copy进去。
先把NuGet.Config文件从容器里面cp出来
cp ~/.nuget/NuGet/NuGet.Config ./
按ctrl+p,ctrl+q退出容器,然后运行
docker cp [container id]:/MyFirstWeb/NuGet.Config ./
现在就可以在Host上编辑NuGet.Config文件了。
编辑好了之后再复制进容器
docker cp ./NuGet.Config [container id]:/MyFirstWeb/
改变默认建立的MVC项目监听的Host地址
用同样的方法修改Program.cs文件,红色字体部分:
1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Threading.Tasks; 6 using Microsoft.AspNetCore.Hosting; 7 8 namespace WebApplication 9 { 10 public class Program 11 { 12 public static void Main(string[] args) 13 { 14 var host = new WebHostBuilder() 15 .UseKestrel() 16 .UseContentRoot(Directory.GetCurrentDirectory()) 17 .UseIISIntegration() 18 .UseUrls("http://*:5000") 19 .UseStartup<Startup>() 20 .Build(); 21 22 host.Run(); 23 } 24 } 25 }
修改完成之后,再运行
dotnet run
然后就可以通过Host的IP地址来访问了:
http://host:5000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2014-03-05 [转]对Why Scrum will never work的评论
2014-03-05 为什么Scrum不行?
2009-03-05 使用闭包优雅的为setInterval(setTimeout)传递参数