.net4.5部署到docker容器
.net4.5部署到docker容器
- 部署到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/aspnet
ARG source
WORKDIR /inetpub/wwwroot
COPY ${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:latest
RUN mono --version
WORKDIR /app
COPY ./bin/Debug/ .
CMD [ "mono", "monoApp.exe" ]
打包镜像
cd monoapp #Docfile所在目录,它一般在项目根目录
docker build . -t monoapp
docker run monoapp
执行结果
MacBook-Pro-6:monoApp lind.zhang$ docker run monoapp
Hello 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/monupw
EXPOSE 80
WORKDIR /data
COPY ./bin/ .
启动你的容器,对外访问用8080端口,容器内部是80端口
MacBook-Pro-6:monoMvc lind.zhang$ docker run -p 8080:80 monomvc
Starting ... OK
.net4.5部署到docker容器的更多相关文章
- Ubuntu16.04 部署安装Docker容器 & 注意事项
一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...
- docker多个容器连接 将 Rails 程序部署到 Docker 容器中
在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中
- 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行
实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...
- Linux下将.Asp Core 部署到 Docker容器中
我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...
- 【docker部署】基于linux的centos操作系统部署安装docker容器
一.docker介绍 容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都 ...
- 为什么不建议把数据库部署在Docker容器内?
近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程, ...
- 面试官:我把数据库部署在Docker容器内,你觉得如何?
开源Linux 一个执着于技术的公众号 上一篇:CentOS 7上搭建Zabbix4.0 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数 ...
- 将netcore网站部署到docker容器中
一.背景 最近一直在看docker的教程,基础知识看的差不多了.理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中. 环境:1.docker for wind ...
- 将Spring-boot应用部署到Docker容器
1:Docker中设置阿里云加速 使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢.获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的 ...
随机推荐
- 不吹不擂,你想要的Python面试都在这里了【315+道题】
写在前面 近日恰逢老男孩全栈8期毕业季,课程后期大家“期待+苦逼”的时刻莫过于每天早上内容回顾和面试题问答部分[临近毕业每天课前用40-60分钟对之前内容回顾.提问和补充,专挑班里不爱说话就的同学回答 ...
- BZOJ_2956_模积和_数学
BZOJ_2956_模积和_数学 Description 求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j<=m,i≠j. Input 第一行两个数 ...
- CentOS7 安装Redis 单机版
1,下载Redis4.0.9 进入Redis中文网的下载页面 http://www.redis.cn/download.html 2,上传压缩包到linux系统 cd /user/local/java ...
- Mysql 上亿级数据导入Hive思路分享
前提条件: 数据库容量上亿级别,索引只有id,没有创建时间索引 达到目标: 把阿里云RDS Mysql表数据同步到hive中,按照mysql表数据的创建时间日期格式分区,每天一个分区方便查询 每天运行 ...
- Java Native Interface调用C++代码
概述 Java Native Interface译为Java原生接口,简称JNI.Java并不是完美的,它的不足体现在运行速度要比传统的C++慢上许多,并且无法直接访问到操作系统底层,为此Java提供 ...
- Java中ArrayList学习笔记
1. 先看两段代码 这段代码在执行的时候会报 但是这样写就好着呢: 总结,研究报错的代码 ,在for循环的时候调用next()方法,next方法中调用了checkForComodification这个 ...
- 关于 JavaScript 中的继承
ES5 之前,继续是这样实现的 function Parent() { this.foo = function() { console.log('foo'); }; } Parent.prototyp ...
- 实用抓包工具:whistle
无论是前端开发还是客户端,实际开发过程中,抓包都经常被用到.工欲善其事必先利其器,一款好用的抓包工具也是必须的. 说到抓包,Windows系统上不少人都用过Fiddler,Mac或Linux上用Cha ...
- 安卓开发笔记(二十五):ViewPager的使用
首先我们来看看运行之后的效果: 然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的.我这里 ...
- 利用MAT玩转JVM内存分析(一)
本文首发于公众号:javaadu 尽管JVM提供了自动内存管理的机制,试图降低程序员的开发门槛,确实也实现了这一目标,在日常开发中,我们一般都不需要关心对象的内存释放.JVM大部分都是使用trace算 ...