Docker学习笔记『简介』

Posted by BlkArt on December 14, 2014

Docker是什么?

Docker是一个为开发者与系统管理员提供的构建、交付及运行应用程序的开放平台。它包括两个部分:Docker Engine——一个轻便的、轻量级运行和封装的工具;Docker Hub——一个用于共享应用和自动化流程的云服务平台。Docker实现了应用程序的快速部署,并且避免了开发、测试和生产环境之间的冲突。最终得到的:IT人可以在笔记本电脑、数据中心及任何的云之间更快的、保持不变的交付和运行相同的应用程序。

开发者为什么喜欢它?

通过Docker,开发者可以使用任何一种工具链、任何一种语言构建任何一种应用程序。“Docker化”的应用程序是完全可移植的,它可以运行在任何地方——同事的OS X、Windows笔记本、云中运行Ubuntu的测试服务器、数据中心生产环境中运行RHEL的虚拟机。

开发者可以快速启动Docker Hub上的超过13,000个应用程序,Docker可以管理、跟踪修改和依赖,这可以让系统管理员更容易的了解开发者对应用程序的构建工作。通过Docker Hub,开发者可以通过公共或私有的仓库自动化构建流程,同时可以与合作者共享工件。

Docker帮助开发者更快的构建和交付高质量的应用程序。

系统管理员为什么喜欢它?

系统管理员使用Docker为开发、测试和产品团队提供标准化环境,减少了“在我机器上工作”的指责。通过“Docker化”应用程序平台及它的依赖,系统管理员抽象化了操作系统发行版和底层基础设施之间的差异。

此外,标准化的Docker Engine作为部署单元给予系统管理员在工作负载上的灵活性。不论内部部署裸机或者数据中心的虚拟机或者公有云,工作负载不易受基础架构技术的约束,并改为按业务优先级和策略驱动。此外,Docker Engine的轻量级运行实现了需求变化的向上和向下扩展的快速相应。

Docker可以帮助系统管理员在任何基础设施上快速可靠的运行任何应用程序。

与虚拟机有什么不同?

虚拟机

002.png

每一个虚拟机不仅仅包含应用程序(这也许只是MB级)和必要的二进制文件和库,而是整个操作系统(这可能是GB级的)

Docker

003.png

Docker Engine容器仅包含应用程序和它的依赖。它在主机操作系统中的用户空间中作为一个独立的进程运行,与其他容器共享内核。因此,它具有与虚拟机一样的资源隔离与分配的优点,而且更便携和高效。


英文原文