宝哥软件园

部署的全过程 Linux服务器下带有Docker的net Core项目

编辑:宝哥软件园 来源:互联网 时间:2021-08-21

发布ASP.NET核心项目

就像普通的项目发布一样,将项目发布到目标文件夹

生成Dockerfile文件

在目标文件的根目录中创建一个新的Dockerfile文件(不带后缀)

FROM microsoft/dotnet//基于“microsoft/dotnet”构建图像副本。/app//将项目文件夹中的所有文件复制到docker容器中的app文件夹。这里有两个参数:WORKDIR /app //将工作目录设置为“/app”文件夹。也就是说,容器启动默认文件夹EXPOSE 80 //将Docker容器设置为EXPOSE 80端口CMD ['dotnet ',' Core。Web.dll'] //使用' dotnet Core。Web.dll '来运行应用程序以上载项目文件

1.将项目构建为镜像

将文件上传到Linux的www目录,并使用命令构建一个映像

Docker构建-t测试核心。//-t指定图像名称。指示dockerfile所在的目录。请注意,Dockerfile中基于microsoft/aspnetcore或Microsoft/dotnet(dotnetaspnetcore)构建的映像需要通过服务器上安装的映像版本来区分

建造成功了,在镜子里可以看到新造的镜子

2.将图像发布为容器

docker run-name test App-d-p 8000:80-v/www :/apptestcore-name指定容器名称-d指定容器在后台运行-p指定外部8000端口映射到容器80端口-v将数据卷/www绑定到/App(容器中的本地目录:目录)本地目录必须是绝对路径testcore image name。3.检查容器是否正在运行。如果启动失败显示退出,您可以查看日志

Docker ps -a //检查所有容器的运行状态docker exec-it test PP bash//如果容器正在运行,请在docker log test PP//中输入容器如果容器没有运行,请检查错误日志4。询问网站,看网站是否运行成功。

Curl 0 . 0 . 0 . 0:8000 Curl-s-d-localhost :8000-o/dev/null//检查请求返回的信息,最后检查防火墙端口的开放和阿里巴巴云后台安全组端口的开放(如果使用阿里巴巴云服务),然后通过外网访问

5.更新代码

因为数据卷是在创建容器时映射的,所以当静态文件更新时,它将自动更新到容器中。但是,当dll文件更新时,您需要手动重新启动容器

Docker重启testapp实现了向docker发布一个Asp.Net Core MVC项目的全过程。目前容器中只有一个dotnet镜像,通过地址访问网站直接访问的红隼服务器。

一些额外的想法

红隼服务器只是一个轻量级web服务器,不支持基于主机名的绑定(如果一台服务器部署多个ASP.NET核心站点,每个站点需要使用不同的端口)

出于安全原因(包括但不限于适当的超时、大小限制和并发连接限制),有必要在红隼和互联网之间添加反向代理服务器(IIS、Nginx或Apache)

接下来,我将描述我在使用nginx向红隼转发请求时遇到的问题。

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

更多资讯
游戏推荐
更多+