ASP.NET Core 应用在 Linux 上如何运行 ?
admin
2023-08-02 16:37:19
0

ASP.NET Core 应用如何运行在 Linux (以下以ubuntu 14.04为例)平台上,首先要确保按照 官方指导 安装 .NET Core 运行环境。然后按照以下几种步骤发布并运行应用。

一、复制发布

  1. 使用命令 dotnet publish -c release 发布项目到默认文件夹
  2. 通过 xftp 5 或其他工具将该文件夹所有内容上传到 linux 服务器指定目录
  3. 通过 xshell 5 ssh登录到linux服务器,切换到程序目录,执行 dotnet demo.dll 即可在终端运行程序,如果希望程序后台运行使用以下命令 sudo nohup dotnet demo.dll,也可以使用第三方进程管理工具(supervisor等)来管理 ASP.NET Core 应用的启动。

二、容器发布

  1. 在 docker hub 上创建账号,并创建一个项目库 demo
  2. 在 ASP.NET Core 项目根目录下创建dockerfile文件如下:
    FROM microsoft/dotnet
    MAINTAINER \"yourname\" yourname@gmail.com
    WORKDIR /root/
    USER root
    COPY ./bin/release/netcoreapp1.0/publish/ /root/
    EXPOSE 3723/tcp
    CMD dotnet demo.dll
  3. 在开发机windows上安装 docker for windows
  4. 启动 powershell 并切换到项目目录,以此执行以下命令:
    docker login #登录到docker registry以便稍后发布image到官方hub上。
    docker build -t yourname/demo:v1.0.0 . #创建image
    docker push yourname/demo:v1.0.0 #将本地构建的image推送到官方registry上
  5. 在 ubutntu 服务器上执行命令 docker run -it -p 3723:3723/tcp yourname/demo:v1.0.0
    即可运行包含该应用的容器,使用命令 docker logs container-id 查看容器中的日志消息。一切顺利的话,demo程序将随着容器运行起来了,

总结

使用容器运行的好处显而易见,每次开发完成新的版本都提交到registry上(如果是企业开发可以自己搭建专属的私有仓库),运维人员值需要在生产环境执行一条 docker run ... 命令即可开始部署。从此不再需要以往的无尽的打包,压缩,发送,接收,解包,配置,启动,错误,重新配置的噩梦模式。

面对任何新的技术,我们都应该以一种积极正面的态度来学习和接纳,因为从历史的角度来看,任何新的技术都是因为解决某个特定问题而出现的,而我们可能正在面对这样的问题,同时它能极大地提高我们的工作效率。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...