.net 4.5部署到docker容器的完整步骤
前言
本文主要给大家介绍了关于.net4.5部署到docker容器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
.net4.5部署到docker容器
- 部署到windows容器
- 部署到linux容器
部署到windows容器
由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像。
1.两个现成的例子
.netconsole程序
dockerrun--rmmcr.microsoft.com/dotnet/framework/samples:dotnetapp
.netweb程序
dockerrun-it--rm-p8000:80--nameaspnet_samplemcr.microsoft.com/dotnet/framework/samples:aspnetapp
1.为自己项目添加一个Dockerfile构建镜像
FROMmicrosoft/aspnet ARGsource WORKDIR/inetpub/wwwroot COPY${source:-obj/Docker/publish}.
参考:https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc
部署到linux容器
对于非.netcore的应用程序来说,要想在linux平台运行需要安装mono框架,这是在linux平台运行.net程序的唯一方法,那么如果想把.net程序部署到linux容器里,也是一样的方法过程,你需要构建一个安装有mono环境的镜像。
为自己的项目添加一个基于mono的Dockerfile
制作一个consoleapp的Dockerfile并运行
FROMmono:latest RUNmono--version WORKDIR/app COPY./bin/Debug/. CMD["mono","monoApp.exe"]
打包镜像
cdmonoapp#Docfile所在目录,它一般在项目根目录 dockerbuild.-tmonoapp dockerrunmonoapp
执行结果
MacBook-Pro-6:monoApplind.zhang$dockerrunmonoapp HelloWorld! MacBook-Pro-6:monoApplind.zhang$
制作一个.netweb的Dockerfile并运行
前提:我们的web项目要想运行,需要有一个像IIS一种的服务器组件,在linux里我们一般使用jexus来实现这个功能,也就是说,我们的docker镜像应该即有mono还要有jexus的集成,这个镜像我们可以自己写,也可以使用现成的镜像azraelrabbit/monupw,下面的Dockerfile是把一个web项目monoMvc打包成一个镜像。
先把镜像拉到本地
dockerpullazraelrabbit/monupw
部署的步骤
- 建立Dockerfile文件,发布网站时应该带上
- 发布网站
- 进行发布后的地址
- 打包dockerbuild.-t镜像名称
- 启动容器dockerrun-d-p8080:80镜像名称
编写Dockerfile文件
FROMazraelrabbit/monupw EXPOSE80 WORKDIR/data COPY./bin/.
启动你的容器,对外访问用8080端口,容器内部是80端口
MacBook-Pro-6:monoMvclind.zhang$dockerrun-p8080:80monomvc Starting...OK
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。