asp.net core 发布到linux下Docker

1.linux Docker 安装

内核升级:https://www.cnblogs.com/zksfyz/p/7919425.html

安装:   https://www.runoob.com/docker/centos-docker-install.html

 

 

 

 

2.发布asp.net core

网上大部分教程都是采用编写Dockerfile文件的方法,然后打包程序到一个新镜像中,而我不用这种方法。我这里直接通过docker运行本地程序。

1、拉取镜像文件

拉取微软官方aspcore runtime镜像文件,执行“docker pull microsoft/dotnet:aspnetcore-runtime”,注意这里使用的是带“aspnetcore-runtime”TAG的镜像,这个镜像才有runtime。如果需要拉取特定的版本,比如2.1版本,可以用“docker pull microsoft/dotnet:2.1-aspnetcore-runtime”这样的写法,更多说明见https://hub.docker.com/r/microsoft/dotnet

拉取成功后通过“docker images”来查看

2、发布程序

 

 

注意部署模式改为“框架依赖”,目标运行时改为“可移植”。发布成功后将文件拷贝到服务器上,比如我放在“/home/www”下面。



最后执行“docker run -d -p 5000:80 -v /home/www:/app --workdir /app microsoft/dotnet:aspnetcore-runtime dotnet /app/MyServer.dll”,服务器就能跑起来了!

-d参数表示容器在后台运行,我们不需要进入到容器。

-p参数表示端口映射,“-p 5000:80”表示将容器的80端口映射到本地5000端口。

-v参数表示目录映射,将服务器的/home/www目录挂到容器的/app目录。

--workdir参数表示容器中服务程序的工作路径,也就是我们映射的/app目录。

“microsoft/dotnet:aspnetcore-runtime”表示要运行的镜像。

最后的"dotnet /app/MyServer.dll"表示容器启动后要执行的命令,这里也就是启动服务程序了,MyServer.dll是我的主程序文件名,你们修改为自己的即可。

最后可以通过"docker ps"来查看正在运行中的容器。

posted @   leolzi  阅读(1096)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-10-16 Linux oracle中文乱码的问题解决
点击右上角即可分享
微信分享提示