將.NET Core部署在Docker


轉載自: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

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM