概述 .netcore發佈這麼久,到現在才在項目中實際運用,之前算是瞭解一點,一般找工作都會問是否運用過.netcore,軟體研發來說,如果這個技術沒用過,覺得挺難,其它不難。.netcore主要是跨平臺,可以部署在不同的操作系統上。 本文通過一些實例,將.netcore Api項目部署在linux ...
概述
.netcore發佈這麼久,到現在才在項目中實際運用,之前算是瞭解一點,一般找工作都會問是否運用過.netcore,軟體研發來說,如果這個技術沒用過,覺得挺難,其實不難。.netcore主要是跨平臺,可以部署在不同的操作系統上。
本文通過一些實例,將.netcore Api項目部署在linux環境中。
用到的工具
Linux : Linux version 4.18.0-17-generic (buildd@lcy01-amd64-022) (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
感謝原著分享!