轉載自:ASP.NET Core 2.1 使用Docker運行
1.新建ASP.NET Core項目
新建一個名為“DockerSample”的ASP.NET Core項目

運行程序,頁面如下:

2.編寫DockerFile

目標系統選擇Linux

此時目錄中會自動添加dockerfile文件,文件系統結構如下:

dockerfile文件內容如下:
1 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
2 WORKDIR /app 3 EXPOSE 80
4 EXPOSE 443
5
6 FROM microsoft/dotnet:2.1-sdk AS build 7 WORKDIR /src 8 COPY ["DockerSample/DockerSample.csproj", "DockerSample/"] 9 RUN dotnet restore "DockerSample/DockerSample.csproj"
10 COPY . . 11 WORKDIR "/src/DockerSample"
12 RUN dotnet build "DockerSample.csproj" -c Release -o /app 13
14 FROM build AS publish 15 RUN dotnet publish "DockerSample.csproj" -c Release -o /app 16
17 FROM base AS final 18 WORKDIR /app 19 COPY --from=publish /app . 20 ENTRYPOINT ["dotnet", "DockerSample.dll"]
對其修改如下:
1 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
2 WORKDIR /app 3
4 COPY . . 5
6 EXPOSE 80
7 EXPOSE 443
8
9 ENTRYPOINT ["dotnet", "DockerSample.dll"]
修改DockerFile的屬性

3.發布程序
將程序進行發布

發布后的程序目錄如下:

在發布的目錄下打開PowerShell
運行指令編譯鏡像
1 docker build -t dockersample .
查看可用的鏡像
1 docker image ls

運行鏡像
docker run --name=dockersamplel -p 20005:80 -d dockersample

如果運行后出現一串ID,則表示運行正常,80位docker容器的端口,映射到本機的端口號位20080

常見錯誤
1.driver failed programming external connectivity on endpoint dockersample....

該錯誤只需要重啟Docker即可
2.測試端口是否占用
1 netstat -ano|find ":1433"
3.測試Dokcer是否正確安裝
1 docker run -it hello-world
