当前位置:首页 > 生活百科

docker应用场景和开发方向(docker和虚拟机的区别)

栏目:生活百科日期:2025-02-22浏览:0

过去的几年时间,科技发生了巨大变化,从物理服务器到虚拟服务器,再到拥有PaaS环境的云计算。不论是否采用了全新架构,Docker镜像都可以在当前环境中很容易地被使用。要使用Docker,并不需要立即从单体应用程序迁移到面向服务架构。有很多用例允许在不同层次上集成Docker。

Docker常用于以下场景。

使用以镜像为基础的部署方式取代类似Capistrano的代码部署系统。安全地在同一台服务器中运行遗留应用和新应用。使用一个工具链循序渐进地迁移到面向服务架构。管理云端或裸机上的水平扩展性和弹性。确保从开发环境到预演环境到生产环境跨环境的一致性。简化开发人员的机器设置和一致性。

将应用的后台程序迁移到Docker集群中,同时保持网页服务器和数据库服务器不变是开始使用Docker的常见示例。另一示例是将应用的部分REST API迁移到Docker中运行,前端使用Nginx代理在遗留服务和Docker集群之间路由通信。通过使用此类技术,团队可以渐进式地从单体应用无缝地迁移到面向服务架构。

如今的应用程序往往需要几十个第三方库,用于加速功能开发或连接第三方SaaS和数据库服务。每个库都可能产生bug,或是让用户陷入版本依赖的泥沼。再加上库的频繁更改,要在基础设施上完成工作代码的持续部署而不引起失败,压力巨大。

Docker可贵的镜像思想使得技术团队在部署工作代码时,不论是单体架构、面向服务或是二者的混合,由于代码及其依赖项捆绑在同一个镜像中,所使用的方式对每次部署都是可测试、可重复、文档化且一致的。一旦一个镜像构建完毕,就可以部署到任意多个运行着Docker守护进程的服务器上。

另外一个常见的Docker用例是跨环境部署一个单一容器,其典型的代码路径是从开发环境到预演环境再到生产环境。容器为整个代码路径提供了一个一致的、可测试的环境。

作为一个开发人员,Docker模型允许在其个人电脑上调试与生产环境完全一致的代码。开发人员可以很容易地下载、运行和调试有问题的生产环境镜像,且无需事先对本地开发环境进行修改。

在生产环境中运行Docker容器困难不小,但还是能实现的。每天都有越来越多公司开始在生产环境中运行Docker。如同所有的基础设施一样,我们建议以小规模入手,然后渐进式地完成迁移。

为什么在生产环境中运行Docker如此困难

Docker对生产环境有很多要求:安全可靠的部署、健康检查、最小或零停机时间、从失败中恢复的能力(回滚)、一个集中存储日志的方式、一种分析或调试应用的方式,以及一种聚合监控参数的方式。类似Docker这样的新技术虽然使用起来非常有趣,但还需要时间来完善。

Docker在可移植性、一致性以及打包具有众多依赖的服务方面非常有优势。多数团队会因为以下一个或多个痛点而坚持使用Docker。

一个应用的不同部分使用大量不同的依赖。支持使用旧依赖的遗留应用程序。开发团队与DevOps之间的工作流问题。

警示:切勿尝试在一个组织内让采用Docker这事一蹴而就。即便运维团队已经为采用Docker做好了充分的准备,也请记住,过渡到Docker通常意味着将管理依赖的重任推给了开发人员。虽然很多开发人员都渴求这种自主权,以便加快迭代,但并非每位开发人员都有能力或兴趣将其列入自己的责任范围。为了能有一个良好的Docker工作流,还是需要花些时间来转变企业文化。


本文节选自《Docker生产环境实践指南》

本书围绕“Docker该如何应用到生产环境”这一核心问题展开。在本书中,读者将接触到多个IT企业应用Docker到生产环境的成功案例,了解Docker实际投产时将会面临的问题,以及它与现有基础设施存在的矛盾与冲突,了解构建Docker生态系统所需的配套设施,包括安全、构建镜像、持续集成/持续交付、镜像存储、配置管理、网络实现、服务发现、持久化存储以及日志监控等模块的具体选型方案及利弊所在。本书编写时一些案例参考的Docker版本是Docker 1.6或Docker 1.7。

本书要求读者具备一定的容器管理和运维的基础知识,适合在生产环境中使用Docker的相关技术人员阅读,尤其适合具有中高级DevOps和运维背景的读者阅读。

“docker应用场景和开发方向(docker和虚拟机的区别)” 的相关文章

反链接是什么意思,反向链接的作用和特点

1.网站的反向链接是什么?反向链接是搜索引擎优化(搜索引擎优化)中常用的术语。它是从其他网站到你的网站的链接。建立反向链接对网站优化非常重要。有不同类型的反向链...

java配置环境变量步骤(java安装教程详细)

什么是环境变量?环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。为什么要配置环境变量?为了方便在控制台编译和运行ja...

nlc的全称冒险岛是什么(wegame冒险岛预计上线时间)

大家好,这里是守望者加速器的小编。冒险岛算是早期的一款互联网游戏,基本上所有喜欢玩网络游戏的玩家都听说过《冒险岛》的名字,那么今天就给大家带来冒险岛详细的介绍和...

加密文件如何解密,PDF文件解密的简单方法

【电脑报在线】PDF是现在一种比较常见的文档格式,但是为了更好地保护文档中的内容,有的文档里面设置有保护性密码。可是有时候人们会遗忘设置的密码PDF是现在一种比...

什么浏览器最快最好,分享三个性能最好的浏览器

如今我们生活已经离不开手机,网上翻阅资料也自然离不开浏览器,然而浏览器不断更新,很多都是些用不到的功能,甚至直接植入广告。实在不能容忍,今天小佚给大家介绍3款良...

代理ip软件有哪些(一键换ip软件)

在这个大家都身处互联网时代里,离不开手机离不开电脑更离不开网络,尤其是一些做业务的朋友,他们工作需要用到IP具,今天给大家分享一个大牌老字号。IP代理软件目前都...

2023年宝妈挣钱路子有哪些(超适合宝妈的5个零风险兼职)

前几天,和几个宝妈朋友聊天,本来是聊到要出去旅游的,结果聊着聊着就聊到了赚钱这个话题上。作为宝妈,尤其是全职在家带孩子,没有收入的妈妈们,想要出门旅游一趟,都要...

ipad外接硬盘方法(手机连接移动硬盘的技巧)

美国东部时间2018年10月30日,苹果在纽约布鲁克林音乐学院发布了全新的MacBookAir和iPadPro。虽然两款产品都相对于前作有了很大的更新,但是相对...

java技术培训班哪个好(Java培训机构排名)

随着互联网信息的高速发展,IT行业存在巨大的人才缺口,在大学生面临这就业难的处境,越来越多的学生选择再培训以获得更好的就业机会,其Java编程应用广泛,薪资及待...

女士去黑头产品排行榜,十款强效去黑头产品推荐

黑头和大毛孔是一对兄弟,只有有黑头一般毛孔都大,因为就是黑头这些有点硬硬的氧化混合物造成的。所以要想收缩毛孔先要对付黑头,他俩是相辅相成,去掉黑头然后毛孔也会逐...