Docker技术这些应用场景,你知道吗?
场景一:节省项目环境部署时间
1.单项目打包
每次部署项目到测试、生产等环境,都要部署一大堆依赖的软件、工具,而且部署期间出现问题几率很大,不经意就花费了很长时间。
Docker主要理念就是环境打包部署,可在任意Docker Engine运行。前期我们只需要将每个项目环境打包到镜像,push到镜像仓库,当有需要部署这个项目时,直接pull镜像启动容器,这个项目就可以访问了!一次构建多次部署,一劳永逸。
2.整套项目打包
公司有一项这样的业务:有一个产品可以整套部署到客户那里,以往都是派一名实施工程师到客户那部署。如果用了Docker,我们可以前期将这套项目封装打包起来,实现一键部署,分分钟钟搞定,就不需要再派人过去了。比如官方的Docker Compose编排工具。
3.新开源技术试用
有时,我们想调研一些开源项目,我们可以直接从公共镜像仓库pull项目官方做好镜像启动容器即可。
场景二:环境一致性
开发工程师在Windows系统上开发项目,测试、生产环境操作系统都是Linux系统,这就产生了环境不一致的情况:项目在开发电脑本地运行没问题,到了测试或生产环境就运行不起来,解决这问题最好方式就是这三处环境保持一致。软件版本、操作系统、物理机、云主机......试想下,能做到吗?
Docker将项目环境打包成镜像,可以在任何Docker Engine上浪。此时Docker就是我们这些项目的基石,Docker可移植性,保持运行状态一致性,可想而知,是否更容易解决问题呢?
场景三:持续集成
一个项目版本快速迭代的测试场景,需要一个合理的CI(持续集成)/CD(持续部署)环境支撑。CI/CD是一个周期性自动化项目测试流程,包括构建、部署、测试、发布等工作,很少需要人工干预。
项目测试流程大致如下图:
Docker结合Jenkins构建持续集成环境大致如下图:
Docker在上面这个图的作用是项目镜像构建和快速部署,打通测试环境与生产环境,高度保持多个环境之间一致性。
场景四:微服务
微服务是近几年来IT圈内谈论比较多的一个名词,意义也很简单:尽可能细粒度拆分业务程序架构,由多个独立服务组成业务系统。
Docker的容器设计原则:一个容器一个服务,容器之间相互隔离,不妨试想一下,如果容器作为这些独立服务的部署单元,是不是有点恰到好处呢?
场景五:弹性伸缩
说到弹性伸缩,通常是集群模式下存在。像AWS AutoScaling,可以自定义资源阈值,SLB自动添加EC2云主机,应对业务访问量突发情况。
当适用Docker技术以后,这种弹性伸缩的单元就是云主机之上的容器了。
容器集群化管理已经有成熟的解决方案,比如:官方的Swarm,谷歌的K8S
由于Docker容器快速启动特性,可以很快速的启动几十个、上百个容器来提供更多并发和资源利用率(如果宿主机资源不够,还需要加主机到集群中)。
小结:
根据上述应用场景总结下Docker特点:开箱即用,快速部署,可移植性强,环境隔离等。
Docker这些特性的确解决了企业IT基础架构很多问题,合理的利用这些特点将更健壮和强大您的IT基础架构。也是为什么越来越多的企业拥抱它的原因!
可能您觉得眼前这种模式并没有明显带来什么好处,但从长远看,细细品味,还是可以提高更大生产力的!
以上场景特点相互相应,只有一个共同目标:简化部署流程,提高生产力!
想学习Docker技术而又无从下手或者无法深入的朋友,可以看看我录制的课程视频<Docker入门到高级应用实战>,也许能帮助你进一步的提高专业能力,升职加薪,指日可待!
欢迎加技术群一起交流、学习!
Python运维开发群(249171211)
Docker技术交流群(719105297)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
IT技术分类和就业特点
写给大学生 如果你是在校大学生,就不要听高中老师讲的,高中好好学,大学就轻松了。如果你轻松了四年,就业就不轻松了。如果你想轻松就业,就要早做职业规划,不要满足于考试不挂科。在大一、大二就关注看招聘网站上那些用单位提供的职位,看看那些职位哪个薪水高,再看看这些职位需要什么技能,确立一下自己的目标。IT岗位见这篇博客的附件。 如果你仅限于学好学校的课程,顶多每学期拿些奖学金,评个优秀生,对就业来说还不够。高校的课程设置通常偏理论比如计算机专业开设,C语言、计算机网络原理、操作系统原理、数据库原理、数据结构和算法。你看看那些职位要求:都是很具体的技术,比如会mySQL、Oracle、微软SQL的管理,而不是你懂数据库原理,用人单位要求你会调试思科或华为的网络设备,而不是你懂计算机网络原理就行。这些理论很重要,但对于用人单位的要求还差一点,这就需要在学习学校课程的同时进一步学习具体的设备和产品,这就是职业化学习。 再就是学校的课程设置培养目标不针对具体岗位来设置,再看看学校的课程安排是否合理,课堂上是否学到实用的技术,老师是否给学生整堂课照着PPT念。如果早一点进行职业规划,早一点有针对...
- 下一篇
Oracle备份还原实践
一、项目背景: 1.1 客户需求: 将物理机房生产环境的Oracle/MySQL及阿里云的RDS数据库备份出来,存储到一个集中数据库存储服务器,实现异地备份,并且在还原环境内要将MySQL/Oracle以及阿里云RDS备份数据还原到测试环境,并判断还原数据库是否存在异常,检验数据的一致性,如有异常邮件或微信告警,每周生成Excel报表发送给负责人。 1.2 需求要点: 网络通信:阿里金融云/公有云/物理机房环境网络须在固定网段互通。 网络安全:各个网段隔离,有需求通信的网段开放通信,需实现端口级别控制。 数据备份:MySQL/Oracle/RDS实现数据库备份。 数据传输:采用定时crond+scp+rsync配合传输。 数据校验:保障数据库还原成功的可靠性。 监控告警:***网络中断,或数据库备份失败等需要发送通知到管理员。 报表生成:将数据库还原的信息生成报表统一发送给管理员。 1.3 解决方案: 网络通信:在阿里云端,采用深信服IPSec ***与物理机房Cisco设备隧道互通。开通传输网段,将此网段作为网络传输中转网段。 网络安全:各个网段隔离,如有跨地区或机房相互通信的需求,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 2048小游戏-低调大师作品
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Linux系统CentOS6、CentOS7手动修改IP地址