欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

ubuntu中使用docker部署.netcore2.1

程序员文章站 2022-04-13 22:17:18
概述 .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项目后,目录结果如图

ubuntu中使用docker部署.netcore2.1

如开始时未添加docker支持,选择是linux还是windows,具体操作如下

ubuntu中使用docker部署.netcore2.1

  • 修改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目录,显示目录结构如下:

ubuntu中使用docker部署.netcore2.1

  •  开始构造镜像image:运行命令【sudo docker build -t apinetcoredocker:1.0.0  . 】

    命令中,【apinetcoredocker】代表镜像名称,可以修改成自己所需要的名称。也可以为镜像添加tag,修改【apinetcoredocker】成【apinetcoredocker:1.0.0】为镜像打上1.0.0的tag标签。命令最后面的【.】号是必要的,是dockerfile在当前目录运行docker的意思。详细命令可查看:。

镜像创建成功如图

ubuntu中使用docker部署.netcore2.1

  • 创建容器并运行

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

    -p是8009是容器对外端口,80是容器内机器端口。意思是映射外网8081端口到本地容器80端口。

          ubuntu中使用docker部署.netcore2.1

  • 最后在浏览器中输入地址,进行测试

          ubuntu中使用docker部署.netcore2.1

参考实例:

感谢原著分享!