关于Docker你应该知道的10件事

简介:

 如果你在企业IT工作,那你会听说过Docker。即使在是像Puppet、Hadoop和MongoDB这样的热门技术中,Docker也会脱颖而出。

但正是因为Docker正处于炒作期,因此这并不意味着它适合你。正如我们Tech  Pro Research分析中指出,“不管你的公司是否给了Docker一个肯定的‘可能’,需要警惕。”

但是,在你下载Docker并使用起来之前,有10件事情是你应该对这项超人气容器技术应该了解的。

1、Docker是一种打包和分发软件的方式

一个现代的软件系统包括许多部分,包括二进制文件、库文件、配置文件和依赖性。将这些不同的组件装成一台机器可不是一件容易的事情,但你“出货”这款软件的时候就更加复杂了。一旦你出货了你的软件,你就需要找到一种方式,将所有这些东西打包到一起、把它们放到需要运行的地方。Docker就是这样一种容器技术,让打包软件以及所有组件之间的依赖性、提供给开发者、分期或者生产、或者发送到需要运行的地方,所有这些变得非常轻松。

2、Docker并不是特别新的技术

Docker问世只有短短几年时间,但是容器技术已经伴随我们有几十年了。虽然容器在大型机时代很有用处,但是Docker现在发挥才能是受很多因素影响的,包括Linux日益突出、虚拟化技术的普及、以及云对操作系统重要性的侵蚀。

3、几乎每个人都提供了Docker

不管你选择的厂商恰好是谁,几乎这些厂商100%都支持Docker。从Amazon Web Services到Red Hat,再到Google,人人都爱Docker。

4、Docker并不只是面向Linux

Docker扎根于Docker,但是微软把它发扬光大。或者它一定会如此。Docker依赖于像Linux Containers(LXC)这样的Linux技术,以及cgroups和命名空间功能,这些在Windows尚不存在。因此微软正在奋力构建这之间的挂接,使得Docker容器也能够运行在Windows Server上。微软在Windows上运行自己的容器技术已经有多年时间了,但是微软正在扩大范围,也支持Docker这个社区标准。

5、Docker让你分配特定量的CPU、内存和磁盘资源给每个进程,就像虚拟机

在Docker的核心是Linux cgroups(控制组),提供计算和限制容器使用CPU、内存、网络、磁盘资源数量的方法。这提供了一些虚拟化的好处,例如能够分配出一台计算机给少量的资源,这样你就不用让一个进程占用所有计算机让其他进程没有资源可用——但是这并不会带来VMware那样沉重的开销或者成本。

6、Docker比启动一个虚拟机快(微秒对分钟)

如果你想要在一台服务器上运行多个任务,那么传统的方法是将其划分为多个虚拟机,使用每个虚拟机来运行一个任务。但是虚拟机启动很慢,因为它们必须启动整个操作系统,这要花上几分钟的时间。而且这会占用大量资源,因为每个虚拟机都需要运行一个完整的操作系统实例。容器则提供了某种类似的行为,但是速度更快一些,因为启动一个容器就像启动一个进程。Docker的开销也更少——实际上不会多过一个进程。

7、但是,Docker不消灭掉虚拟机

Docker并不是虚拟机的对等替代物,因为它要求你所有的容器共享相同的底层操作系统。这意味着,例如你不能在同一台服务器上同时运行Windows和Linux应用。而且,随着Docker容器脱颖而出,它的安全隔离要弱于虚拟机,这也使得它成为某种多租户的不恰当的选择。

8、Docker的开发速度相当迅猛

登上Docker这趟列车可不像是乘坐蒸汽机,而更像是跳上了日本子弹头火车……它以250 MPH的速度向你呼啸而来。考虑到Docker只有一年半的API已经有了15个修订版本,你会知道它变化地有多快。虽然Docker“已经成熟,因为它正在成长为一款稳定的、企业值得使用的软件”,但是它仍然没有能持续10年的支持承诺,这通常是企业对他们的软件的期望。

9、Docker正面临日益激烈的竞争

随着Docker越来越受欢迎,它不可避免地要面临竞争。例如,CoreOS最近发布了一个与之竞争的Docker运行时间,Rocket和Linux青睐的Ubuntu也有自己的LXD容器项目。这些和其他竞争似乎都在指责Docker封闭的生态系统。在Docker的世界,所有都依赖于Docker注册。你必须依赖公司的注册表,在你自己的数据中心运行一个Docker拷贝,这不是免费的。

10、你应该谨慎行事

正如对待任何新技术,你可能会在使用Docker之间考虑考虑。从技术的角度来看,你应该在逐渐熟悉在Docker容器中运行应用的同时考虑哪些该做哪些不该做。但这不仅仅是代码。正如正面所说,Docker的社区可能并不适合你。你应该加入社区——参加聚会、阅读、并加入到邮件列表中,等等——并决定你是否希望在Docker上投入你的时间。

不管你是以何种方式接触到Docker,容器技术都已经来临。Docker使得现代计算中复杂的东西变得简化了。Docker是容器包的领导者,你需要考虑它的调卷。这些条款是什么取决于你和你企业基础设施的状态。 

原文发布时间为:2015-7-14

 

本文作者:孙博

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网


目录
相关文章
|
6天前
|
人工智能 运维 安全
|
4天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
565 20
|
12天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
923 109
|
5天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。