运行命令:
- docker pull microsoft/dotnet
如果没有使用阿里镜像加速的,参照这篇先配置好再跑上面命令:
http://www.cnblogs.com/windchen/p/6231009.html
- docker run -itd -p 5000:5000 microsoft/dotnet
-p 用来添加 Host 跟 Container 的端口映射
找到刚才启动容器的 id:
- docker ps
进入容器
- docker attach [id]
创建及启动. NET Core MVC 项目
- mkdir MyFirstweb
- cd MyFirstWeb
- dotnet new -t web
- dotnet restore
- dotnet run
上面 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/
用同样的方法修改 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()
- 20 .Build();
- 21
- 22 host.Run();
- 23 }
- 24 }
- 25 }
修改完成之后,再运行
- dotnet run
然后就可以通过 Host 的 IP 地址来访问了:
http://host:5000
来源: