谁在使用 Docker?

尚无读者喜欢这个。
Bubble hands

Opensource.com

在过去的几个月里,我一直在 Linux 基金会实习,研究开源行业的新发展和采用趋势。如果您在过去一年中花时间阅读有关开源的文章,您可能听说过 Docker;现在很多人都在谈论它,以及它将对虚拟化和 DevOps 产生的影响。

对于这样的新技术,通常很难过滤掉炒作并理解实际意义。此外,复杂的术语通常使像 Linux 容器这样的主题对于外行人来说难以理解,并将讨论范围限制在那些对该主题有深入了解的人。在本文中,我将暂时从讨论 Docker 可以做什么的角度退后一步,专注于它如何改变 Linux 的格局。

Docker 又是什么?

简而言之,Docker 是 Linux 容器 (LXC)扩展:一种独特的轻量级、以应用程序为中心的虚拟化技术,可大幅减少开销,并使在服务器上部署软件变得更加容易。Docker 的创始人 Solomon Hykes 用 标准化集装箱在全球运输各种货物 的类比很好地解释了这一功能。Docker 允许系统管理员和开发人员构建可以在任何 Linux 发行版或硬件上的虚拟化沙箱中运行的应用程序,而无需为不同的环境进行自定义构建。这些功能吸引了很多大公司的关注,并将 Docker 变成了去年最成功的开源项目之一。看来 Docker 将会长期存在,那么这对 Linux 意味着什么呢?

Docker 的多种用途

Red Hat 一直处于 Docker 采用和开发的前沿,Paul Cormier 是其使用的最大倡导者之一。 自去年 9 月以来,该公司一直与 Docker 密切合作,并专注于改进 Docker 在 OpenShift 平台上的功能。总体重点是将 Docker 用作一种工具机制,以改进应用程序虚拟化中的资源管理、进程隔离和安全性。这些努力最终促成了 Project Atomic 的发布,这是一个专门为运行 Linux 容器而量身定制的轻量级 Linux 主机。该项目的重点是使容器在需要比典型 Linux 主机少得多的资源的环境中易于部署、更新和回滚。

面向 DevOps 的 Docker

Docker 使用的另一个主要焦点是 DevOps 社区。Docker 的设计方式使其可以融入大多数 DevOps 应用程序,包括 Puppet、Chef、Vagrant 和 Ansible,或者它可以单独使用来管理开发环境。主要的卖点是它简化了通常由这些其他应用程序完成的许多任务。具体来说,Docker 使设置与实时服务器完全相同的本地开发环境、从同一主机运行多个开发环境(每个环境都具有独特的软件、操作系统和配置)、在新服务器或不同服务器上测试项目以及允许任何人在具有完全相同的设置的情况下处理同一项目成为可能,而与本地主机环境无关。最后,Docker 可以消除开发团队在其本地机器上安装相同版本的任何东西的需求。

Spotify 正在努力将 Docker 融入他们的开发工作流程。Docker 镜像的可重复性使他们更容易标准化他们的生产代码和配置。他们的工作促成了 Helios 的创建,Helios 是一种应用程序,可以管理跨多个服务器的 Docker 部署,并在服务器未运行正确版本的容器时向他们发出警报。

用于持续集成的 Docker

eBay 专注于将 Docker 融入其持续集成流程,以标准化跨分布式服务器网络的部署,这些服务器网络作为一个集群运行。他们将应用程序依赖项隔离在容器内,以解决每台服务器具有不同的软件版本、应用程序依赖项和特殊硬件的问题。这意味着主机操作系统不需要与容器操作系统相同,他们的最终目标是使不同的硬件和软件系统作为一个 Mesos 集群运行。

用于沙箱安全的 Docker

Remote Interview 开发软件供招聘人员测试求职者的开发技能。他们发布了 CompileBox,这是一个基于 Docker 的沙箱,可以运行不受信任的代码并返回输出,而不会危及运行该软件的主机。在 CompileBox 的开发过程中,Remote Interview 团队考虑过使用 Chroot jails、Ideone 和传统虚拟机,但Docker 被选为最佳选择。Chroot 不能提供所需的安全级别,Ideone 很快就会变得成本过高,而虚拟机在受到攻击后需要非常长的时间才能重启。Docker 是此应用程序的明显选择,因为试图破坏系统的恶意代码将仅限于容器,并且可以根据需要快速创建和销毁容器。

Docker 的未来

许多公司和组织正在共同努力将 Docker 带到桌面应用程序,这一壮举可能会对最终用户产生广泛的影响。微软甚至也加入了进来,将 Docker 带到他们的 Azure 平台,这一发展可能会使 Linux 应用程序与微软产品的集成比以往任何时候都更加容易。

Docker 1.0 于 6 月 9 日在 Dockercon 的第一天发布,它被认为是 Docker 第一个足够稳定以供企业使用的版本。随着此次发布,Docker 与 libcontainer 背后的公司宣布建立新的合作伙伴关系,共同努力使 libcontainers 成为基于 Linux 的容器的默认标准。Docker 和 Linux 容器的增长没有放缓的迹象,随着新企业定期加入,我预计在未来一年中会看到大量新发展。

User profile image.
我拥有跨越 IT 领域的广泛背景,包括 Web 开发、IT 系统管理、技术写作、内容管理、数字媒体等等;我努力成为一名现代文艺复兴人。

评论已关闭。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.