一起学Docker吧!Docker入门介绍篇 - 你还没听过虚拟容器化技术吗?
文章目录前言简介思考作用容器生态开放容器计划总结前言最近更新完 Go 系列之后打算更新关于Go语言的一些开源项目,于是想到了大名鼎鼎的 Docker 容器,索性就打算专门开一系列关于Docker的学习文章。同时博主舍友的面试进度很顺利,希望他早日成为南极(鹅厂)人????,也希望深圳房租可以低一些,照顾照顾异地实习的大学生吧????????简介Docker 是一种运行于 Linux 和 Windo
前言
最近更新完 Go 系列之后打算更新关于Go语言的一些开源项目,于是想到了大名鼎鼎的 Docker 容器,索性就打算专门开一系列关于Docker的学习文章。同时博主舍友的面试进度很顺利,希望他早日成为南极(鹅厂)人😄,也希望深圳房租可以低一些,照顾照顾异地实习的大学生吧😄😄
简介
Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。
Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。
Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。
Docker 公司还提供包含支持服务的商业版本的 Docker。
思考
倘若现在有个实际需求场景,需要在一百台服务器上都配置 jdk, python, mysql, redis , nodejs 等服务,你会倾向于重复一百次相同的安装配置操作,还是更倾向于只安装配置一次这些服务,然后把这些服务装进一个容器里面,然后只需要把这个容器拷贝到其他的服务器里面,然后启动这个容器里面的各个服务呢?
作用
就正如官网介绍
Accelerate how you build, share and run modern applications
翻译:加速构建、共享和运行现代应用程序的方式
上面的思考题的应用场景,正适合用 Docker 容器技术来解决,只需要在一台服务器中 用 Docker 配置一次各个服务,然后把镜像文件打包,再把这个镜像文件发布到其他的服务器中,就可以快速解决生产环境的部署问题。非常高效。这样子的解决思路是不是很妙呢?😄
容器生态
Docker 公司的一个核心哲学通常被称为“含电池,但可拆卸”(Batteries included but removable)。
意思是许多 Docker 内置的组件都可以替换为第三方的组件,网络技术栈就是一个很好的例子。
Docker 核心产品内置有网络解决方案。但是网络技术栈是可插拔的,这意味着 Docker 内置的网络方案可以被替换为第三方的方案。许多人都会这样使用。
早期的时候,经常出现第三方插件比 Docker 提供的内置组件更好的情况。然而这会对 Docker 公司的商业模式造成冲击。毕竟,Docker 公司需要依靠盈利来维持基业长青。
因此,“内置的电池”变得越来越好用了。这也导致了生态内部的紧张关系和竞争的加剧。
简单来说,Docker 内置的“电池”仍然是可插拔的,然而越来越不需要将它们移除了。
尽管如此,容器生态在一种良性的合作与竞争的平衡中还是得以繁荣发展。
在谈及容器生态时,人们经常使用到诸如“co-opetition”(意即合作与竞争,英文中 co-operation 与 competition 合并的词)与“frenemy”(英文中朋友 friend 与敌人 enemy 合并的词)这样的字眼。这是一个好现象!因为良性的竞争是创新之母。
开放容器计划
如果不谈及开放容器计划(The Open Container Initiative, OCI)的话,对 Docker 和容器生态的探讨总是不完整的。下图所示为 OCI 的Logo。
OCI的Logo
OCI 是一个旨在对容器基础架构中的基础组件(如镜像格式与容器运行时)进行标准化的管理委员会。
同样,如果不谈历史的话,对 OCI 的探讨也是不完整的。
一个名为 CoreOS 的公司不喜欢 Docker 的某些行事方式。因此它就创建了一个新的开源标准,称作“appc”,该标准涉及诸如镜像格式和容器运行时等方面。
此外它还开发了一个名为 rkt(发音“rocket”)的实现。
两个处于竞争状态的标准将容器生态置于一种尴尬的境地。
这使容器生态陷入了分裂的危险中,同时也令用户和消费者陷入两难。虽然竞争是一件好事,但是标准的竞争通常不是。因为它会导致困扰,降低用户接受度,对谁都无益。
考虑到这一点,所有相关方都尽力用成熟的方式处理此事,共同成立了 OCI ——一个旨在管理容器标准的轻量级的、敏捷型的委员会。
OCI 已经发布了两份规范(标准):镜像规范和运行时规范。
提到这两项标准时,经常用到的比喻就是铁轨。它们就像对铁轨的尺寸和相关属性达成一致,让所有人都能自由地建造更好的火车、更好的车厢、更好的信号系统、更好的车站等。
只要各方都遵循标准就是安全的。没人会希望在铁轨尺寸问题上存在两个相互竞争的标准!
公平地说,这两个 OCI 规范对 Docker 的架构和核心产品设计产生了显著影响。Docker 1.11 版本中,Docker 引擎架构已经遵循 OCI 运行时规范了。
到目前为止,OCI 已经取得了不错的成效,将容器生态团结起来。然而,标准总是会减慢创新的步伐!尤其是对于超快速发展的新技术来说更是如此。
这在容器社区引起了热烈的讨论。这应该算是好事!容器技术正在重塑世界,走在技术前列的人们有热情、有想法,这很正常。
OCI 在 Linux 基金会的支持下运作,Docker 公司和 CoreOS 公司都是主要贡献者。
总结
每一门新技术的出现大部分都是为了解决某个现实生活中的问题,或者是优化某个技术某方面的缺陷,在学习一门新技术的时候,可以先从介绍开始,了解这门技术解决的是什么问题?我们该如何学习它,它的思想,底层原理算法,这些都是进阶必备的学习技能。希望有共鸣的童鞋可以给博主点个赞👍👍!
坚持分享,坚持原创,喜欢博主的靓仔靓女们可以看看博主的首页博客!
您的点赞与收藏是我分享博客的最大赞赏!
博主博客地址: https://blog.csdn.net/weixin_43967679
更多推荐
所有评论(0)