因为这段时间比较忙,同时也在抽时间将开发框架转移到 .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. Cross-Origin Resource Sharing协议介绍

    传统的Ajax请求只能获取在同一个域名下面的资源,但是HTML5打破了这个限制,允许Ajax发起跨域的请求.浏览器是可以发起跨域请求的,比如你可以外链一个外域的图片或者脚本.但是Javascript脚 ...

  2. JavaScript Patterns 6.1 Classical Versus Modern Inheritance Patterns

    In Java you could do something like: Person adam = new Person(); In JavaScript you would do: var ada ...

  3. JavaScript Patterns 4.10 Curry

    Function Application apply() takes two parameters: the first one is an object to bind to this inside ...

  4. ADO.Net(一)——增、删、改、查

    数据访问 对应命名空间:System.Data.SqlClient; SqlConnection:连接对象 SqlCommand:命令对象 SqlDataReader:读取器对象 CommandTex ...

  5. spring Quartz 调度

    Quartz 是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性.Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射.此外,Quartz ...

  6. 小说一下case ~

    case 这个关键词,用的地方不少~大部分的用途都通过以下的方式去应用 SELECT CASE @i END AS 测试1; 测试1 ----------- DECLARE @Hour INT = D ...

  7. 006.udp转发包并代理访问服务器总结

    背景: 当加速器(client)拦截了游戏客户端发送的完整数据包(package)时,将package传给中间服务器(mid_server),经过自己的链路传输数据之后,中间服务器模拟游戏客户端将数据 ...

  8. ixgbe rx_missed_errors

    https://communities.intel.com/thread/54600?start=0&tstart=0 I am acquiring 800Mb/sec+ multicast ...

  9. [麦先生]初学Laravel框架与ThinkPHP框架的不同(2)

    在经过了一段时间的开发后,我对Laravel框架的认识又在逐步的加深,对于这个世界占有量NO.1的框架...  我想说,我已经在逐步的感受到他的恐怖之处... 一.建表--Laravel在数据库建表上 ...

  10. WPF学习笔记(一):数据绑定之元素到元素绑定

    前言 作为一只菜鸟,之前学了一段时间的WPF,但是没有总结,过了一学期发现好多东西都忘记了,很多东西还是需要记下来,以备后续复习. 数据绑定在事件中应用非常广泛,可以有效地减少代码量,那么什么是数据绑 ...