下載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