开发者社区> 李振良> 正文

Docker技术这些应用场景,你知道吗?

简介: 场景一:节省项目环境部署时间 场景二:环境一致性 场景三:持续集成 场景四:微服务 场景五:弹性伸缩
+关注继续查看

场景一:节省项目环境部署时间

1.单项目打包

每次部署项目到测试、生产等环境,都要部署一大堆依赖的软件、工具,而且部署期间出现问题几率很大,不经意就花费了很长时间。

Docker主要理念就是环境打包部署,可在任意Docker Engine运行。前期我们只需要将每个项目环境打包到镜像,push到镜像仓库,当有需要部署这个项目时,直接pull镜像启动容器,这个项目就可以访问了!一次构建多次部署,一劳永逸。

2.整套项目打包

公司有一项这样的业务:有一个产品可以整套部署到客户那里,以往都是派一名实施工程师到客户那部署。如果用了Docker,我们可以前期将这套项目封装打包起来,实现一键部署,分分钟钟搞定,就不需要再派人过去了。比如官方的Docker Compose编排工具。

3.新开源技术试用

有时,我们想调研一些开源项目,我们可以直接从公共镜像仓库pull项目官方做好镜像启动容器即可。


场景二:环境一致性

开发工程师在Windows系统上开发项目,测试、生产环境操作系统都是Linux系统,这就产生了环境不一致的情况:项目在开发电脑本地运行没问题,到了测试或生产环境就运行不起来,解决这问题最好方式就是这三处环境保持一致。软件版本、操作系统、物理机、云主机......试想下,能做到吗?

Docker将项目环境打包成镜像,可以在任何Docker Engine上浪。此时Docker就是我们这些项目的基石,Docker可移植性,保持运行状态一致性,可想而知,是否更容易解决问题呢?


场景三:持续集成

一个项目版本快速迭代的测试场景,需要一个合理的CI(持续集成)/CD(持续部署)环境支撑。CI/CD是一个周期性自动化项目测试流程,包括构建、部署、测试、发布等工作,很少需要人工干预。

项目测试流程大致如下图:

4a9865dd3064a17d4ee37e546b0ba4ca.jpg

Docker结合Jenkins构建持续集成环境大致如下图:

8c3ef2e57378972a177353133dd45eb7.jpg


Docker在上面这个图的作用是项目镜像构建和快速部署,打通测试环境与生产环境,高度保持多个环境之间一致性。


场景四:微服务

微服务是近几年来IT圈内谈论比较多的一个名词,意义也很简单:尽可能细粒度拆分业务程序架构,由多个独立服务组成业务系统。

Docker的容器设计原则:一个容器一个服务,容器之间相互隔离,不妨试想一下,如果容器作为这些独立服务的部署单元,是不是有点恰到好处呢?


场景五:弹性伸缩

说到弹性伸缩,通常是集群模式下存在。像AWS AutoScaling,可以自定义资源阈值,SLB自动添加EC2云主机,应对业务访问量突发情况。

当适用Docker技术以后,这种弹性伸缩的单元就是云主机之上的容器了。

容器集群化管理已经有成熟的解决方案,比如:官方的Swarm,谷歌的K8S

由于Docker容器快速启动特性,可以很快速的启动几十个、上百个容器来提供更多并发和资源利用率(如果宿主机资源不够,还需要加主机到集群中)。


小结:

根据上述应用场景总结下Docker特点:开箱即用,快速部署,可移植性强,环境隔离等。

Docker这些特性的确解决了企业IT基础架构很多问题,合理的利用这些特点将更健壮和强大您的IT基础架构。也是为什么越来越多的企业拥抱它的原因!

可能您觉得眼前这种模式并没有明显带来什么好处,但从长远看,细细品味,还是可以提高更大生产力的!


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


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


课程地址:http://opsdev.ke.qq.com


可以加技术群一起交流、学习!

 Docker技术交流群:(516039855)


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【云原生Docker篇】Docker的网络模式(下)
一、Docker网络 1.1 Docker网络实现原理 docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。
147 0
【云原生Docker篇】Docker的网络模式(上)
一、Docker网络 1.1 Docker网络实现原理 docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。
118 0
【云原生 | 从零开始学Docker】四、Docker镜像深度解析
相信大家经过前面的练习都掌握了基本的指令,在实战操作之后我们就要进行镜像的详解来帮助大家对于docker有一个更深层次的理解,并且会介绍一下我们的容器卷,后面也会用到容器卷进行数据同步!
88 0
Docker 的 8 个应用场景,真香啊...
Docker 的 8 个应用场景,真香啊...
216 0
使用 Docker Buildx 构建多种系统架构镜像
使用 Docker Buildx 构建多种系统架构镜像
1557 0
Docker高效实践(下)
前面说过,容器创建的文件保存在容器可写层中,这意味着: 移除容器后数据不存在,并且别的进程很难访问容器中的数据 容器可写层与运行主机紧密耦合,很难迁移数据 容器可写层需要存储驱动来管理,比数据卷直接访问主机文件系统性能低下
56 0
Docker高效实践(上)
Docker是一个为开发人员或系统管理员提供基于容器开发、部署和运行应用程序功能的平台。应用程序容器化越来越受欢迎是因为它有以下特点: 灵活:不管多复杂的应用都可以容器化 轻量:容器利用并共享主机内核 更新:随时部署更新和升级 便携:不管是本地构建,还是云端部署,可以在任何地方运行 扩展:增加和自动分发容器副本 堆叠:随时垂直叠加服务
80 0
Docker核心技术之镜像
Docker核心技术之镜像
67 0
docker技术基础
一些常见得docker命令
79 0
传统应用的docker化迁移
Docker是云技术和IT技术的未来,这一点正在被越来越多的公司认识到,但是对于传统企业来说,如何将传统的应用迁移到Docker是一个迫切需要解决的问题。传统企业,尤其是国内的传统企业,IT建设普遍滞后,当大多数互联网公司都在大面积使用Docker的时候,传统企业还在为虚拟化、公有云[注]和敏捷开发挣扎。很多企业都在提工业4.0,但是信息化建设却没有提高到一定的高度。企业的信息化程度,很大程度上决定了企业的生产效率,而 Docker则从应用层面提出了非常好的解决方案。本文也将从迁移的角度来阐述如何在传统企业中使用Docker。 传统应用容器化迁移的思考 对于传统应用来说,使用和不使用Dock
211 0
【DockerCon2017技术解读】Docker特性介绍
在云栖TechDay34期:DockerCon2017的技术解读中,阿里巴巴技术专家谭林华为大家介绍了Docker的最新特性以及与传统场景相比,这些新特性所具有的优势和所能够解决的问题。
341 0
Docker 部署之优势
Docker优势 docker开启比虚拟机快 ,大批量应用部署会方便 隔离的运行环境,还有可移植性,都是非常友好的,避免了繁杂的环境部署时间 环境一致性、弹性伸缩扩展、快速启动 持续部署与测试 ​ Docker在开发与运维的世界中具有极大的吸引力,因为它能保持跨环境的一致性。
2008 0
史上最快Docker入门!(一)-容器技术和Docker简介
1 容器技术概述 聊聊容器技术
1166 0
+关注
李振良
6年互联网运维经验,擅长Linux,Python,Docker,MySQL,运维自动化等技术领域。
文章
问答
视频
相关课程
更多
相关电子书
更多
2017龙渊docker应用实践
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关镜像