linux怎么查看本机内存大小
280
2022-10-20
netcore3.1 dockerfile 生成镜像 并 部署到 linux 系统
十年河东,十年河西,莫欺少年穷
学无止境,精益求精
自学了半月的docker,今天实战一次,把.net项目部署到linux,实现net跨平台
先列出我的docker系列博客:
那么,先从最简单的项目开始吧
VS2019 新建一个netCore 3.1 项目,名字:webApp
自定义一个控制器
[Route("api/[controller]")] [ApiController] public class HomeController : ControllerBase { [HttpGet] [Route("getUid")] public IActionResult getUid() { string s = helper.getguid(); return Ok(s); } }
待会我们就通过访问这个接口,看看是否部署成功
helper.getguid();是一个非常简单的方法,就是获取一个GUID
public class helper { public static string getguid() { return Guid.NewGuid().ToString("N"); } }
项目搭建完毕,右键项目,添加,docker 支持 ... 生成dockerfile文件
这里我们不使用系统默认的Dockerfile文件,将Dockerfile文件内容编辑为如下:
#See to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS baseWORKDIR /appEXPOSE 80EXPOSE 443COPY . . ENTRYPOINT ["dotnet", "webApp.dll"]
然后将Dockerfile的属性修改为:始终复制
发布项目到文件系统:
发布成功后,将发布的文件上传至linux系统
我放在了这里
然后通过 build Dockerfile 生成项目镜像,注意:我已经在linux系统中指向了 webapp 目录,所以,这里的Dockerfile 采用的相对路径
docker build -f Dockerfile -t webapp:1.0 .
生成镜像成功,我们来查看下生成的镜像
将镜像打包为容器,暴露 8088 和 1433 端口
docker run -it --name webapp01 -p 8088:80 -p 1433:433 5d1469a33ffc /bin/bash
打包成功后,先按 ctrl +p+q 退出容器,然后查看容器信息
查看容器详细信息
docker inspect 01ca5fe5d6d4
说明端口暴露成功
最后查看linux的网络配置
ifconfig
我们可以通过阿里云内网地址进行项目的访问,如下:http://192.168.136.134:8088/api/home/getuid
项目访问成功,这样就以最简单的方式实现了NetCore的跨平台访问
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~