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这些特性的确解决了企业IT基础架构很多问题,也是为什么越来越多的企业拥抱它的原因。

可能您觉得眼前这种模式提供不了多少工作效率,但从长远看,细细品味,还是可以产生更大生产力的!

以上场景相互相应,只有一个共同目标:简化部署流程,提高生产力!

想学习Docker技术而又无从下手或者无法深入的朋友,可以看看我录制的课程视频<Docker入门到高级应用实战>,也许能帮助你进一步的提高专业能力,升职加薪,指日可待!

课程地址:https://ke.qq.com/course/package/5561

时间: 2024-08-10 01:19:19

Docker技术这些应用场景,你知道吗?的相关文章

docker技术剖析--docker资源限制及应用总结

防伪码:有花堪折直须折,莫待无花空折枝. 一.本文将介绍 cgroup 如何做到内存,cpu 和 io 速率的隔离 本文用脚本运行示例进程,来验证 Cgroups 关于 cpu.内存.io 这三部分的隔离效果. 测试机器环境(docker 1.12版本) 启动 Cgroups systemctl enable cgconfig.service systemctl start cgconfig.service 执行 mount 命令查看 cgroup 的挂载点 从上图可以看到 cgroup 挂载在

docker技术剖析--docker资源限制及应用总结 for centos7.2

http://hongge.blog.51cto.com/ Docker(linux container)所依赖的底层技术 1 Namespace 用来做容器的隔离,有了namespace,在docker container里头看来,就是一个完整的linux的世界.在host看来,container里的进程,就是一个普通的host进程,namespace提供这种pid的映射和隔离效果,host承载着container,就好比一个世外桃源. namespace包括:pid namespace.pi

docker技术剖析--docker网络

防伪码:不经一番寒彻骨,怎得梅花扑鼻香.                 docker技术剖析--docker网络 一. Docker 中的网络功能介绍 默认情况下,容器可以建立到外部网络的连接,但是外部网络无法连接到容器. Docker 允许通过外部访问容器或容器互联的方式来提供网络服务 外部访问容器: 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过  -P  或  -p  参数来指定端口映射. 练习环境:运行一个容器,提供web服务和ssh服务 宿主机启用路由转发(net.

Docker学习总结(11)——八个Docker的真实应用场景

[编者的话]Flux 7介绍了常用的8个Docker的真实使用场景,分别是简化配置.代码流水线管理.提高开发效率.隔离应用.整合服务器.调试能力.多租户环境.快速部署.我们一直在谈Docker,Docker怎么使用,在怎么样的场合下使用?也许本文可以帮到你.有需要交流的地方,可以通过评论与我们交流. 几周前我们参加了DockerCon ,Dockercon是首个以Docker为中心的技术大会.它面向开发者以及对在Docker开放平台上构建.交付.运行分布式应用感兴趣的从业者,不论这些开放平台是运

chinapub读书会第3期:GO语言与Docker技术分享会

活动安排 主办方: 时间:2015年04月25日(周六) 13:00-17:30 地点:北京丰台区成寿寺路11号邮电出版大厦.乘坐300快外.特8外快,.300外到方庄桥东站下车,往南200米路西. 活动嘉宾 郝林 Gopher.高级Java软件工程师.Python程序员和Linux爱好者.目前在北京数人科技有限公司任资深技术工程师,从事大数据处理平台的研发工作.曾就职于宜信.搜狐网,并先后担任软件架构师和技术主管等职务.在互联网软件的设计和开发方面拥有丰富的实战经验. 刘斌 具有10余年软件开

八个Docker的真实应用场景

1.简化配置 这是Docker公司宣传的Docker的主要使用场景.虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件.系统),Docker在降低额外开销的情况下提供了同样的功能.它能让你将运行环境和配置放在代码中然后部署,同一个Docker的配置可以在不同的环境中使用,这样就降低了硬件要求和应用环境之间耦合度. 2. 代码流水线(Code Pipeline)管理 前一个场景对于管理代码的流水线起到了很大的帮助.代码从开发者的机器到最终在生产环境上的部署,需要经过很多的中间环境.

Docker技术入门及实践

01 Docker技术介绍 Docker技术简介 Docker,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何支持docker安装的Linux机器上运行.Docker实现了虚拟化,安全隔离,容器是完全沙箱机制,相互之间不会有任何接口. 一个完整的Docker有以下几个部分组成: 1.Docker Client客户端 2.Docker Daemon守护进程 3.Docker Image镜像 4.Docker Container容器 5.Docke

《Docker技术入门与实战》pdf

下载地址:网盘下载 内容简介  · · · · · · [编辑推荐] <Docker技术入门与实战>是中国首部docker著作,一线Docker先驱实战经验结晶,来自IBM和新浪等多位技术专家联袂推荐! <Docker技术入门与实战>结合企业生产环境,深入浅出地剖析 Docker 的核心概念.应用技巧.实现原理以及生态环境,为解决各类问题提供了有价值的参考. [内容简介] 在云计算时代,开发者将应用转移到云上已经解决了硬件管理的问题,然而软件配置和管理相关的问题依然存在.Docke

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,