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

简介:

如果你在企业IT工作,那你会听说过 Docker。即使在是像 Puppet、Hadoop 和 MongoDB 这样的热门技术中,Docker 也会脱颖而出。但正是因为 Docker 正处于炒作期,因此这并不意味着它适合你。正如我们 Tech Pro Research 分析中指出,“不管你的公司是否给了 Docker 一个肯定的‘可能’,需要警惕。”

54fd3dd07aaf2.jpg

但是,在你下载 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 是容器包的领导者,你需要考虑它的调卷。这些条款是什么取决于你和你企业基础设施的状态。











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