ubuntu中使用docker部署.netcore2.1
概述
.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的意思。详细命令可查看:。
镜像创建成功如图
- 创建容器并运行
在运行应用程序【sudo docker run --name apinetcoredocker1 -p 8009:80 apinetcoredocker:1.0.0】
-p是8009是容器对外端口,80是容器内机器端口。意思是映射外网8081端口到本地容器80端口。
- 最后在浏览器中输入地址,进行测试
参考实例:
感谢原著分享!
上一篇: MS SQL 锁与事务
推荐阅读
-
Ubuntu 16.04中Docker的安装和代理配置教程
-
详解如何在 Docker 中设置 Go 并部署应用
-
Linux中Docker安装后如何使用Docker容器
-
ubuntu14.04 使用中遇到的问题及解决方法集锦
-
Docker容器使用jenkins部署web项目(总结)
-
使用phpstorm对docker中的脚本进行debug的方法
-
03 .NET CORE 2.2 使用OCELOT -- Docker中的Consul
-
ubuntu android studio中关于NDK的使用介绍
-
使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking
-
Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题