2017年11月26日 星期日

建立Hello World Docker Image - 【C# .Net Core 學習筆記】

本範例所使用的軟體版本如下

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!




以上範例放上 GitHub 連結如下

https://github.com/JadenDream/NetCoreDockerImageExample




沒有留言:

張貼留言