DOCKER上執行DOTNET CORE

遙望星空發表於2017-03-05

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

相關文章