大数跨境
0
0

Docker真的万能吗?看这一篇就够了

Docker真的万能吗?看这一篇就够了 互盟数据中心
2020-12-11
1
导读:Docker并不是容器,而是创建容器的工具,是应用容器引擎。其实看它的两句口号就可以很容易的理解它。第一句是“搭建、发送、运行”;第二句是只要搭建一次,到处都能用。
Docker并不是容器,而是创建容器的工具,是应用容器引擎。其实看它的两句口号就可以很容易的理解它。第一句是“Build, Ship and Run”翻译过来便是“搭建、发送、运行”;第二句是“Build once,Run anywher”也就是只要搭建一次,到处都能用。比如你想在一片空地上盖房子,但你需要很多步骤才能将这个房子盖好,可是住了一段时间后你却想搬家了,只能重新盖房子。
Docker就像一个魔法,可以把你原本盖好的房子复制了放进背包里然后粘贴到另一个空地,其实就是“镜像”。Docker的三大核心概念分别是镜像(Image)、容器(Container)、仓库(Repository)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。每个人生成的不同镜像,可以互相交换,最终它就变成了一个公共仓库。
使用Docker时候,你会发现它真的是个宝藏,可以秒级开启应用,不用特别繁琐的配置什么,可以减轻很多这种重复性的劳动。Docker不适合虚拟化桌面,它比较适合linux族,Unix族以及应用程序的虚拟化。逻辑是这样的,在操作系统的概念里面,有一个内核,docker是基于Linux 内核,它不适用于Windows虚拟化,Windows操作系统有另外一个虚拟技术Hype-y。
Docker有一些缺点,表面上很方便,实际上工具链之间的衔接略微糟糕。它将linux的namespace做了深层次的封装,用户上手的难度低,部署到生产环境也很容易。但仅限于小型项目,换成稍微复杂一些的项目,依赖关系非常多的话,就能发现它会出现各种奇怪的bug。比如docker-compose之间的依赖不会等待被依赖者加载完毕,挂载volume有时会无法在entrypoint或command中执行命令,必须要用COPY等等,变得复杂和难以维护。
在进行多机部署的时候,跟着官方文档走都不能成功,上stackoverflow和github上查了半天也查不到任何解决办法,是经常发生的事情。Docker确实可以降低了运维难度,但是运营成本却提升了。它最大的一个缺点是十分吃硬盘。Docker封装的namespace,并没有对文件进行进一步的管理,只是粗暴的将文件到处复制粘贴。当服务器上开了数百个容器后发现1TB的硬盘被吃掉了一半时,意味着需要不停增加服务器资源才能维持系统的运行。除了磁盘空间的占用外,作为一名中国用户,时区、墙等都是问题。
当然所有问题都是可以解决的,只是比较浪费时间。毋庸置疑Docker是个非常酷的工具,它的优点还是远大于缺点的。但它并不是万能的,当你遇到架构简单,类似数据库+应用程序这种情况可以不用Docker,业务上Docker会占用太多资源的时候也可以考虑不用,因为服务器资源挺贵。
往期精彩内容

【We访谈】数据中心+云,为新基建发展赋能

【IDCC2020】数云赋能,建构新基建产业典范

【We访谈Online】漫谈大湾区数据中心行业趋势

互盟全线数据中心SDN网络升级圆满成功
探秘互盟南湾云产业基地
互盟成功入选19年度深圳创新券服务入库机构

互盟云共享带宽到底能为企业节省多少?

互盟云正式推出CDN加速服务

【声明】内容源于网络
0
0
互盟数据中心
互盟以领先的“云-网-智”三位一体融合架构为核心引擎,在智算核心技术领域,形成从芯片级算力解耦到模型级参数优化的全栈式AI赋能,构建起覆盖算力服务、智算云脑、数据要素、AI大模型的全场景解决方案矩阵,率先实现跨架构算力资源的毫秒级智能调度。
内容 313
粉丝 0
互盟数据中心 互盟以领先的“云-网-智”三位一体融合架构为核心引擎,在智算核心技术领域,形成从芯片级算力解耦到模型级参数优化的全栈式AI赋能,构建起覆盖算力服务、智算云脑、数据要素、AI大模型的全场景解决方案矩阵,率先实现跨架构算力资源的毫秒级智能调度。
总阅读131
粉丝0
内容313