如果你注意系统管理员和 Linux 用户的评论,他们对 Docker 真的很兴奋。 但它到底是什么? 为什么你要在乎? 谁在使用 Docker? 本文将有助于解释 Docker 的吸引力。
什么是码头工人?
Docker 是一种将应用程序打包到“容器”中的方法,允许它们从一台机器移动到另一台机器。 它对开发人员和系统管理员具有特别的吸引力,因为它允许他们发布应用程序并仍然让它们工作,以及它们的所有依赖项。
例如,开发人员可以在个人计算机上使用 LAMP(Linux、Apache、MySQL、PHP)测试和构建 Web 应用程序,然后将应用程序推送到具有容器化版本的应用程序和所有组件的测试服务器,包括 最小的 Ubuntu 安装,保证它们可以在机器之间工作。 这使开发人员可以更轻松地快速测试和推出新应用程序。
Docker 提供了高于实际 Linux 操作系统的抽象级别,但没有成熟虚拟机的开销。 Docker 是两者之间的一种中间地带。 它是虚拟机的轻量级替代品,因为虚拟机需要完整的操作系统才能运行,而容器仅使用所需的组件。
秉承开源精神,有许多 Docker 容器存储库,包括在 Docker 自己的网站上。 它类似于 Linux 发行版使用的各种包管理器。 本文后面提到的许多使用 Docker 的公司都维护着自己的公共存储库。 公司还可以创建私有存储库供内部使用。
Docker 在分布式架构中运行,由一个管理容器的守护进程和一个管理请求的客户端组成。 Docker 使用 LXC,它支持在 Linux 内核中使用容器。
为什么如此受欢迎?
如果你关注 Linux 世界,你可能想知道围绕 Docker 的炒作是否合理。 系统管理员和开发人员如此喜欢 Docker 的原因是它使他们的工作变得容易得多,因为他们可以从不同的机器上推送他们的代码,甚至一直向上推送到云服务中。
为什么要使用 Docker?
Docker 消除了运行分布式 Web 应用程序的许多麻烦。 如果您的应用程序依赖于特定版本的 Apache 或 MySQL,您可以使用 Dockerized 版本而不会干扰系统上的任何其他组件。 这意味着如果您在大型服务器场上运行应用程序,您可以确保所有节点都运行相同的软件。 这使得测试和故障排除比尝试管理大量服务器上不同版本的安装要容易得多。
谁在使用 Docker?
尽管 Docker 很新,但它已被各种主要科技公司所接受,包括 Yelp、Spotify、Rackspace 和 eBay 等。 他们中的许多人已经在 Docker 的网站上向其他人提供了自己的存储库。
甚至微软也在其 Azure 云计算平台上支持 Docker。 令人惊讶的是,鉴于微软过去对 Linux 的敌意,它还允许用户在其云平台而不是 Windows 上运行 Linux。 在这两种情况下,微软都在为客户提供他们想要的东西。
Docker 还是虚拟化?
Docker 消除了很多虚拟化的开销,但有时您可能需要运行虚拟机。 您可能确实需要利用某些操作系统功能。 由于 Docker 依赖于 Linux 内核功能,因此您确实依赖于 Linux 平台。 如果您想使用 Windows 或 BSD 功能,最好使用虚拟化。
结论
如果您希望更轻松地开发和测试应用程序并将它们及其依赖项从一台机器移动到另一台机器,Docker 可能是您的理想选择。 您不必担心您的托管服务提供商是否拥有正确版本的 Ubuntu 或 MySQL,因为它们可以作为容器安装在目标系统上。