.Net Core+cenos7+Docker+Dockerfile 部署实践
因为这段时间比较忙,同时也在抽时间将开发框架转移到 .net Core 上 所以写博客的时间就少了,这次我利用dockerfile成功将.net Core程序部署到了cenos7容器中,特抽时间把我的操作过程总结出来和大家分享。
首先要准备一个LINUX系统,可以是ubuntu,也可以是centos,我用的是虚拟机上装ubuntu14.04
然后安装docker,这个安装过程我就不说了,大家自己在网上搜索一下吧,大把,操作也简单。
我用的版本是
然后我建议先pull一个centos 7的镜像到本地,虽然直接在Dockerfile里面写指令也可以,但是那样执行起来会有点慢。
操作完后执行查看镜像命令,确认是否成功
这个镜像有196.8M,还好不算很大
因为这个镜像是很纯净的,没装任何东西,.net Core运行需要依赖两个库,所以我们要先把这两个库安装进去。
首先让我们启动一个容器
先安装libunwind
有让你选择的时候直接输入y就行了
看的这个就是安装完了。
然后再安装 ICU 一样的安装方式
这样就是安装完了。这时我们需要将这个修改后的容器保存为镜像,这样就不需要每次都这么操作了。
这时候再查看镜像就会发现这个镜像变大了,因为我们的组件都安装进去了,也提交成功了
好,到这里我们镜像的准备工作己经做好了,我们只要写个dockerfile然后把发布的程序一起运行起来就可以了。
首先我们先发布一个centos7的 .net Core事例代码
打开项目配制文件
加入运行配制
记得要把上面这里删除掉
然后打开CMD 运行命令
这样就发布成功了
我们把发布出来的代码上传到虚拟机上
现在准备工作差不多了,我们来看一下 Dockerfile,这个文件比较简单
基于我们之前准备好的镜像,将当前的文件复制到容器中,给文件夹权限,开放端口,运行程序
我们将这个文件放在我们发布的程序里面
我们在虚拟机上先进行到程序目录,然后运行命令
运行完以后我们就得到了我们最希望得到的镜像
我们运行它
这里做了端口映射,这样我在外部就可以访问它了
请忽略上面的这些代码,这些是我做测试用的。
可能大家不太了解的人会觉得我们走了这么多步骤就只是为了运行一个程序,是不是太麻烦了,这个东西好像也没什么用。
其实不然,我们之前的准备工作确实做的多了一点,但之后就只需要两个步骤了
以后你再发布程序只需要这两个命令就可以让它跑起来。
我们可以装这个镜像发布到公有库或是企业内部库,这样所有人都可以共享,你只需要把代码发布到一个地方,测试人员直接运行两个命令就可以跑你的程序,而且不会出现因为环境问题影响测试结果。
而且我们可以开启多个容器,可以本地测试负载均衡下程序运行情况等等,反正还有很多种运用,我也在摸索中,希望和大家一起进步。
最后补充一点,在ubuntu14.04容器下运行失败,一直报错
好像这个暂时没办法解决,只能等版本更新看能不能修复这个问题了,centos下是正常的。
.Net Core+cenos7+Docker+Dockerfile 部署实践的更多相关文章
- 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介 前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...
- docker 在window 10 专业版的安装 && .net core 在docker的部署
1.如果无法安装Hyper-V,八成是自己的杀毒软件给关了,我的是 电脑管家-启动项里面 给关掉了. 2.如果部署.net core 后 运行 报 An assembly specified in t ...
- net core 在docker(ubuntu)部署
1.vs新建项目并发布,然后copy到linux系统上,我这里是用的虚拟机. 2 Dockerfile文件配置 FROM microsoft/dotnet:2.1-aspnetcore-runtime ...
- Asp.Net Core 使用Docker进行容器化部署(一)
前几篇文章介绍了Liunx下的环境搭建,今天来分享一下.Net Core在Liunx上的部署. 我采用的方案是使用Dokcer作为运行虚拟机,Nginx作为Http服务器来进行反向代理,你可以理解为D ...
- Docker 打包 部署
Docker 打包 部署 一贯的开场白,大家好: 开始学习Spring Boot ,同时也再学习 Maven 自动化构建. 项目的部署环境是 Linux 服务器,Docker容器. 之所以写这篇博客 ...
- ASP.NET Core开发Docker部署
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- 从头认识一下docker-附带asp.net core程序的docker化部署
从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...
- .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)
本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...
随机推荐
- 编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。
package zuoye; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; pub ...
- jQuery简单入门(三)
3.事件和动画 A. 事件 Aa. DOM加载 1.为什么使用jQuery加载DOM方法? 以javascript的window.onload()方法加载DOM的先决条件是:必须等待被请求页面的资源全 ...
- 继续说一下openjson 以及 json path 的使用 (2)
在openjson 里面,其实是可以把数据类型array里面的值遍历出来的,举个栗子 ) = N' {"name":"test", "obj" ...
- mongo日志切割脚本
两种mongo日志切割脚本 vim /etc/logrotate.d/mongodb /home/mongodb/mongolog/mongod.log { daily rotate 7 compre ...
- 3.10.17 procfs示例
/* * wesley * the linux module sample of procfs * * wesley for testing * 2013-12-23 ...
- setTimeout()与setInterval()——走马灯效果
JavaScript中的setTimeout()与setInterval()都是指延时执行某一操作. 但setInterval()指每隔指定时间执行某操作,会循环不断地执行该操作:setTimeout ...
- MySQL版本介绍
MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择. 1. MySQL Community Server 社区版本,开源免费, ...
- How to stop uwsgi when no pidfile in config?
原文: how-to-stop-uwsgi-when-no-pidfile-in-config Q: I've just installed uwsgi by pip install uwsgi in ...
- Scala编程第二课
函数式编程 函数式编程,结构化编程,OO编程都是编程的方法论. 函数式编程主要思想是把运算过程尽量写成一系列嵌套的函数调用. 特点如下: 1.函数可以像其他数据类型一样使用 可以可以赋值给其他变量,可 ...
- Django初体验(一):自定义表单提交
注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义表单.对于自定义表单Post方式提交往往会带来由CSRF(跨站请求伪造)产生的错误"CS ...