.net 4.5部署到docker容器
.NET FX 应用程序也是可以容器化的,容器化的选项有两个:
部署到windows容器
部署到linux容器
部署到windows容器
由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像。
两个现成的例子
.net console程序
docker run --rm mcr.microsoft.com/dotnet/framework/samples:dotnetapp
.net web程序
docker run -it --rm -p 8000:80 --name aspnet_sample mcr.microsoft.com/dotnet/framework/samples:aspnetapp
为自己项目添加一个Dockerfile构建镜像
FROM microsoft/aspnetARG sourceWORKDIR /inetpub/wwwrootCOPY ${source:-obj/Docker/publish} .
参考:https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc
部署到linux容器
对于非.net core的应用程序来说,要想在linux平台运行需要安装mono框架,这是在linux平台运行.net程序的唯一方法,那么如果想把.net程序部署到linux容器里,也是一样的方法过程,你需要构建一个安装有mono环境的镜像。
为自己的项目添加一个基于mono的Dockerfile
制作一个console app的Dockerfile并运行
FROM mono:latestRUN mono --versionWORKDIR /appCOPY ./bin/Debug/ .CMD [ "mono", "monoApp.exe" ]
打包镜像
cd monoappdocker build . -t monoappdocker run monoapp
执行结果
MacBook-Pro-6:monoApp lind.zhang$ docker run monoappHello World!MacBook-Pro-6:monoApp lind.zhang$
制作一个.net web的Dockerfile并运行
前提:我们的web项目要想运行,需要有一个像IIS一种的服务器组件,在linux里我们一般使用jexus来实现这个功能,也就是说,我们的docker镜像应该即有mono还要有jexus的集成,这个镜像我们可以自己写,也可以使用现成的镜像
azraelrabbit/monupw
,下面的Dockerfile是把一个web项目monoMvc打包成一个镜像。
先把镜像拉到本地
docker pull azraelrabbit/monupw
部署的步骤
建立Dockerfile文件,发布网站时应该带上
发布网站
进行发布后的地址
打包 docker build . -t 镜像名称
启动容器 docker run -d -p 8080:80 镜像名称
编写Dockerfile文件
FROM azraelrabbit/monupwEXPOSE 80WORKDIR /dataCOPY ./bin/ .
启动你的容器,对外访问用8080端口,容器内部是80端口
MacBook-Pro-6:monoMvc lind.zhang$ docker run -p 8080:80 monomvcStarting ... OK
原文地址:https://www.cnblogs.com/lori/p/10685107.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
.net 4.5部署到docker容器相关推荐
- K8S精华问答 | 如何监控部署在Docker容器上的应用程序?
kubernetes,简称K8S,是用8代替8个字符"ubernete"而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化 ...
- 微服务项目部署在docker容器运行
昨天的一篇微服务项目中涉及到docker部署,今天写一篇关于微服务项目部署在docker容器中运行,使用github上另外一个比较经典的微服务项目piggyMetric,项目的github地址:htt ...
- Linux环境打包Qt程序并部署到Docker容器
Linux环境打包Qt程序并部署到Docker容器 根据项目需要,将UKylin版本的qt应用程序打包并且部署到docker容器中 系统版本 UKylin版本:Ubuntu18.04 Docker镜像 ...
- 构建ChatGPT 镜像,并将其部署到 Docker 容器中。
自己构建 ChatGPT 镜像,并将其部署到 Docker 容器中. 下面是一个简单的 ChatGPT 镜像构建示例: 准备工作 在开始构建 ChatGPT 镜像之前,我们需要完成以下准备工作: 安装 ...
- Docker容器 - DockerFile发布Java微服务并部署到Docker容器
目录 通过idea新建一个普通微服务项目 一.新建项目 二.POM 三.YML 四.启动类 五.Controller类 启动 通过Dockerfile发布微服务部署到docker容器 一.通过idea ...
- 面试官:我把数据库部署在Docker容器内,你觉得如何?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:33h.co/eqFQ 近2年Docker非常的火热,各位开 ...
- 数据库为何不建议部署在Docker容器内
近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程, ...
- 为什么不建议把数据库部署在Docker容器内
近几年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程, ...
- docker -v 覆盖了容器中的文件_springboot配合maven打成可执行jar,构建镜像部署到docker容器中...
本篇文章将介绍springboot应用如何打成jar包,并将jar构建为docker镜像部署到docker中 应用打包 需要配合spring-boot-maven-plugin打包,将以下代码放到应用 ...
最新文章
- 三分钟了解“Java重写”
- java operators_Java Basic Operators
- java正则 找出数字,Java顶用正则表达式找出数字
- java usc2短信编码_手机短信PDU编码与解码
- Docker入门 - 005 Docker 容器连接
- 星号三角形python_python中的星号三角形
- Android 进程常驻(5)----开机广播的简单守护以及总结
- python处理teradata数据库_Python脚本连接Teradata数据库
- java.util.list 报错_Java 报错 .updateValue' has an unsupported return type: interface java.util.List...
- Numpy Mathematical functions 数学函数
- # 遍历结构体_关于二叉树怎样建立和四种遍历方法你知道吗?
- kettle的乱码和null值无法插入
- zookeeper之学习(三)zkcli补充
- ggplot2作图4
- 系统学习深度学习(三十三)--Prioritized Replay DQN
- Python语法命令学习-Day3(作业练习)
- paip.调用GUI接口.
- PowerDesigner 报错 Could not Initialize JavaVM!
- SLAM中本质矩阵E,基础矩阵F,单应矩阵H总结
- 数字图像处理基础——图像空间操作的3种形式
热门文章
- 如何停止Internet Explorer 11的建议站点?
- 点击右侧导航栏,实现iframe嵌入子页面中div,滑动到最上面
- 洛谷P4364 [九省联考2018]IIIDX(线段树)
- Oracle即将发布的全新Java垃圾收集器 ZGC
- Python入门教程之Python保留字符大全
- 软件架构实践文章链接
- oslo.config资源
- C++学习之路: 线程封装(基于对象编程)
- linux 安全审计
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法...