概述 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
感谢原著分享!