ASP.NET Core 应用在Linux上如何运行
2016-10-17 00:00
666 查看
ASP.NET Core 应用如何运行在 Linux (以下以ubuntu 14.04为例)平台上,首先要确保按照 官方指导 安装 .NET Core 运行环境。然后按照以下几种步骤发布并运行应用。
通过 xftp 5 或其他工具将该文件夹所有内容上传到 linux 服务器指定目录
通过 xshell 5 ssh登录到linux服务器,切换到程序目录,执行
在 ASP.NET Core 项目根目录下创建dockerfile文件如下:
在开发机windows上安装 docker for windows
启动 powershell 并切换到项目目录,以此执行以下命令:
在 ubutntu 服务器上执行命令
即可运行包含该应用的容器,使用命令
面对任何新的技术,我们都应该以一种积极正面的态度来学习和接纳,因为从历史的角度来看,任何新的技术都是因为解决某个特定问题而出现的,而我们可能正在面对这样的问题,同时它能极大地提高我们的工作效率。
一、复制发布
使用命令dotnet publish -c release发布项目到默认文件夹
通过 xftp 5 或其他工具将该文件夹所有内容上传到 linux 服务器指定目录
通过 xshell 5 ssh登录到linux服务器,切换到程序目录,执行
dotnet demo.dll即可在终端运行程序,如果希望程序后台运行使用以下命令
sudo nohup dotnet demo.dll,也可以使用第三方进程管理工具(supervisor等)来管理 ASP.NET Core 应用的启动。
二、容器发布
在 docker hub 上创建账号,并创建一个项目库 demo在 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
在开发机windows上安装 docker for windows
启动 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上
在 ubutntu 服务器上执行命令
docker run -it -p 3723:3723/tcp yourname/demo:v1.0.0
即可运行包含该应用的容器,使用命令
docker logs container-id查看容器中的日志消息。一切顺利的话,demo程序将随着容器运行起来了,
总结
使用容器运行的好处显而易见,每次开发完成新的版本都提交到registry上(如果是企业开发可以自己搭建专属的私有仓库),运维人员值需要在生产环境执行一条docker run ...命令即可开始部署。从此不再需要以往的无尽的打包,压缩,发送,接收,解包,配置,启动,错误,重新配置的噩梦模式。
面对任何新的技术,我们都应该以一种积极正面的态度来学习和接纳,因为从历史的角度来看,任何新的技术都是因为解决某个特定问题而出现的,而我们可能正在面对这样的问题,同时它能极大地提高我们的工作效率。
相关文章推荐
- 在Linux上以服务的方式运行ASP.NET Core站点
- 在Linux和Windows的Docker容器中运行ASP.NET Core
- ASP.Net Core 运行在Linux(Ubuntu)
- ASP.NET Core应用中如何记录和查看日志
- ASP.Net Core 运行在Linux(CentOS)
- ASP.NET Core应用中如何记录和查看日志
- 解析如何利用一个ASP.NET Core应用来发布静态文件
- ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面
- 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)
- ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求
- .NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
- ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(3)
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
- 在Linux和Windows的Docker容器中运行ASP.NET Core
- 如何远程关闭一个ASP.NET Core应用?
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(1)
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(2)