因为这段时间比较忙,同时也在抽时间将开发框架转移到 .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 部署实践的更多相关文章

  1. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  2. docker 在window 10 专业版的安装 && .net core 在docker的部署

    1.如果无法安装Hyper-V,八成是自己的杀毒软件给关了,我的是 电脑管家-启动项里面 给关掉了. 2.如果部署.net core 后 运行 报 An assembly specified in t ...

  3. net core 在docker(ubuntu)部署

    1.vs新建项目并发布,然后copy到linux系统上,我这里是用的虚拟机. 2 Dockerfile文件配置 FROM microsoft/dotnet:2.1-aspnetcore-runtime ...

  4. Asp.Net Core 使用Docker进行容器化部署(一)

    前几篇文章介绍了Liunx下的环境搭建,今天来分享一下.Net Core在Liunx上的部署. 我采用的方案是使用Dokcer作为运行虚拟机,Nginx作为Http服务器来进行反向代理,你可以理解为D ...

  5. Docker 打包 部署

    Docker 打包 部署 一贯的开场白,大家好: 开始学习Spring Boot ,同时也再学习 Maven 自动化构建.  项目的部署环境是 Linux 服务器,Docker容器. 之所以写这篇博客 ...

  6. ASP.NET Core开发Docker部署

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  7. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  8. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  9. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

随机推荐

  1. SQL Server字符串左匹配

    在SQL Server中经常会用到模糊匹配字符串的情况,最简单的办法就是使用like关键字(like语法http://msdn.microsoft.com/en-us/library/ms179859 ...

  2. SQLServer查询锁表

    查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys. ...

  3. Kafka三款监控工具比较(转)

    在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且 ...

  4. ES6箭头函数(Arrow Functions)

    ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器). 一.语法 1. 具有一个参数的简单函数 var single = a => a single('he ...

  5. Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系

    https://docs.python.org/2/library/exceptions.html#exception-hierarchy BaseException +-- SystemExit + ...

  6. Xamarin Android中引用Jar包的方法

    新建一个Java Bingdings Library 将Jar包复制,或使用添加已存在的文件,到Jars文件夹中 确认属性中的“生成操作” 如果有类型转换不正确,请修改Transforms文件夹中的相 ...

  7. [转]TCP协议中的三次握手和四次挥手(图解)

    本文转自:http://blog.csdn.net/whuslei/article/details/6667471 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来 ...

  8. PHP实现文件上传下载——心在忙而已

    这一周都没有写什么东西,是啊,一周时间都没有学习太多新的东西,除了开车. 妈蛋啊,天天中午去学车然后两周没有午觉的日子还是很崩溃的,加上之后工作压力带来的心忙,宝宝不开心啊. 不过,也是自己不是那么能 ...

  9. stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)

    本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归 ...

  10. JAVA中遇到 UTF-八 序列的字节 1 无效

    UTF-8 序列的字节 1 无效用dom4j操作xml文件, 出现了这个错误.原因是xml文件被创建的时候是ansi码格式. (   UTF-8 序列的字节 1 无效用dom4j操作xml文件, 出现 ...