.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下是正常的。

时间: 2024-10-11 05:31:31

.Net Core+cenos7+Docker+Dockerfile 部署实践的相关文章

ASP.NET Core开发Docker部署

ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细了解一下Docker的用途,以及真实的应用场景. Docker源于PaaS,PaaS的应用场景即是Docker的应用场景. Platform as a Service: 平台即服务, 是面向软件开发者的服务, 云计算平台提供硬件, OS, 编程语言, 开发库, 部署工具, 帮助软件开发者更快的开发软

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

ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细了解一下Docker的用途,以及真实的应用场景. Docker源于PaaS,PaaS的应用场景即是Docker的应用场景. Platform as a Service: 平台即服务, 是面向软件开发者的服务, 云计算平台提供硬件, OS, 编程语言, 开发库, 部署工具, 帮助软件开发者更快的开发软

.Net Core Web Api实践(三).net core+Redis+docker实现Session共享

前言:上篇文章介绍了.net core+Redis+IIS+nginx实现Session共享,本来打算直接说明后续填坑过程,但毕竟好多坑是用docker部署后出现的,原计划简单提一下.net core+Redis+docker实现Session共享,但是发现篇幅也不小,所以还是单独起草一篇,除了k8s部署docker,其它部分都有基本介绍. 1.环境准备 操作系统:Windows10 VS2019.本地Redis数据库.Windows docker 2.背景介绍 由于项目从asp.net MVC

阿里云容器服务与 ASP.NET Core 的 Docker 部署:用 docker secrets 保存 appsettings.Production.json

这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 —— 如果将包含敏感信息的应用配置文件 appsettings.Production.json 传递给运行在容器中的 asp.net core 应用. Docker 针对这样的应用场景已经提供了解决方案 —— Docker Secrets,对应的 docker 命令是 docker secret .我们就用 docker secrets 解决了这个问题,在这篇随笔中分享一下. 首先在阿里云容器

Docker在Ubuntu的部署实践

Docker在Ubuntu的部署实践 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs 本文讲述Docker在Ubuntu系统上的部署过程.其中,Ubuntu为12.04.5 LTS, Precise Pangolin版. 1.安装Docker # apt-get update # apt-get install docker.io Reading package lists... Done Building dependency t

【转】docker+jenkins+git持续部署实践

写在前面 以前搭建spring-cloud的时候 看到别人代码里面总有Dockerfile,然后了解到docker容器的概念,玩了两个星期玩不下去了,就放下了,无意间在网上看到一篇文章Docker持续部署,就想着自己也搭建一套玩玩. 流程 网上那篇文章介绍的流程涉及到多个docker镜像,我这里为了入门就简单化了. 1 2 自动化部署效果就是: 你修改了本地的代码 然后push到git上面,git的webhook功能会给jenkins post一个请求,jenkins接收到请求后,就进行打包部署

ASP.NET Core在CentOS上的最小化部署实践

原文:ASP.NET Core在CentOS上的最小化部署实践 引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个Nginx-Powered AspNet Core Web准生产应用. 在开始之前,我们还是重温一下部署原理,正如你所常见的.Net Core 部署图: 在Linux上部署.Net Core App最好的方式是在Linux机器上使用Kestrel 服务在端口5000上支撑web应用: 然后设置Nginx作为反向代理服务器,将输入请求转发给Kestrel服务器,

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

基于Microsoft Azure、ASP.NET Core和Docker的博客系统

欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网")个人空间发布过一些与编程和开发相关的文章.从入行到现在,我至始至终乐于与网友分享自己的所学所得,希望会有更多的同我一样的业内朋友能够在事业上取得成功,也算是为我们的软件事业贡献自己的一份力