本範例所使用的軟體版本如下
Net Core 2.0.3確認 Net Core 版本
dotnet --version
升級說明
https://www.microsoft.com/net/learn/get-started/windows#windowsvs2015
建立 Net Core Console 專案
// 建立專案
dotnet new console --name myApp會幫你自動產生專案檔 myApp.csproj 以及對應的 Program.cs
Program.cs 內容
using System; namespace myApp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
// 還原專案相依
dotnet restore
// 執行看看是否OK
dotnet run
建立 Docker Image
建立 Dockerfile
在主資料夾內建立一個 Dockerfile 檔案, 內容如下Dockerfile
###
FROM microsoft/dotnet:sdk AS build-env WORKDIR /app # copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # build runtime image FROM microsoft/dotnet:runtime WORKDIR /app COPY --from=build-env /app/out ./ ENTRYPOINT ["dotnet", "myApp.dll"]### 其中最後一行中的 "myApp.dll" 要修改對應到你專案產生的dll名稱
執行編譯 Docker Image
docker build -t dotnetmyapp2 .
執行成功會有以下訊息 (20ae9d152e3d 這個每次編譯都不一樣得值)
Successfully built 20ae9d152e3d Successfully tagged dotnetmyapp2:latest
執行 docker
docker run --name testdotnetmyapp dotnetmyapp2
可以看到執行回應
Hello World!