概述 html
.netcore發佈這麼久,到如今纔在項目中實際運用,以前算是瞭解一點,通常找工做都會問是否運用過.netcore,軟件研發來講,若是這個技術沒用過,以爲挺難,其實不難。.netcore主要是跨平臺,能夠部署在不一樣的操做系統上。linux
本文經過一些實例,將.netcore Api項目部署在linux環境中。docker
用到的工具ubuntu
Linux : Linux version 4.18.0-17-generic (buildd@lcy01-amd64-022) (gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)) windows
Windows與Linux交互工具:MobaXterm 6.6.exe,支持遠程鏈接和上傳附件功能api
搭建步驟瀏覽器
個人IDE是VS 2017,建立一個.netcore Api項目後,目錄結果如圖app
如開始時未添加Docker支持,選擇是linux仍是windows,具體操做以下工具
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"]
命令中,【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端口。
參考實例:http://www.javashuo.com/article/p-uowngeha-ke.html
感謝原著分享!