ubuntu中使用docker部署.netcore2.1

嵌入式 134瀏覽

 

 概述   

   .netcore發布這么久,到現在才在項目中實際運用,之前算是了解一點,一般找工作都會問是否運用過.netcore,軟件研發來說,如果這個技術沒用過,覺得挺難,其它不難。.netcore主要是跨平臺,可以部署在不同的操作系統上。

本文通過一些實例,將.netcore Api項目部署在linux環境中。

 用到的工具

 Linux : Linux version 4.18.0-17-generic ([email protected]) (gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)) 

 Windows與Linux交互工具:MobaXterm 6.6.exe,支持遠程連接和上傳附件功能

 搭建步驟

  •  創建.netcore2.1 Api項目

 我的IDE是VS 2017,創建一個.netcore Api項目后,目錄結果如圖

如開始時未添加Docker支持,選擇是linux還是windows,具體操作如下

  • 修改Docker配置文件,

 

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["./ApiNetCore.csproj", "./"]
RUN dotnet restore "ApiNetCore.csproj"
COPY . .
WORKDIR "/src"
RUN dotnet build "ApiNetCore.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "ApiNetCore.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "ApiNetCore.dll"]

 

 

 

  • 將本地源代碼通過MobaXterm上傳到Linux目錄,顯示目錄結構如下:

  •  開始構造鏡像image:運行命令【sudo docker build -t apinetcoredocker:1.0.0  . 】

    命令中,【apinetcoredocker】代表鏡像名稱,可以修改成自己所需要的名稱。也可以為鏡像添加tag,修改【apinetcoredocker】成【apinetcoredocker:1.0.0】為鏡像打上1.0.0的tag標簽。命令最后面的【.】號是必要的,是dockerfile在當前目錄運行docker的意思。詳細命令可查看:http://www.runoob.com/docker/docker-build-command.html

鏡像創建成功如圖

  • 創建容器并運行

            在運行應用程序【sudo docker run --name apinetcoredocker1  -p 8009:80  apinetcoredocker:1.0.0】

    -p是8009是容器對外端口,80是容器內機器端口。意思是映射外網8081端口到本地容器80端口。

          

  • 最后在瀏覽器中輸入地址,進行測試

          

參考實例:https://www.cnblogs.com/alunchen/p/10139356.html

感謝原著分享!

 

王中王鉄算盘历史开奖记录