Docker提供了所谓的抽象
抽象可以帮助以简化的方式处理复杂的工作。在使用Docker后,开发者不用再关注于安装应用程序相关的复杂性和细节,只需要考虑想安装什么样的软件。同时,这也适用于软件移除的情况。当需要删除软件时,开发者之需要告诉Docker要删除哪个软件。因为软件封装在容器中,所以不会存在散落在容器外的文件。
因为提供一个简单、轻量的建模方式,Docker上手非常快,用户只需几分钟,就可以把自己的程序"Docker化"(Dockerize)。
容器抽象和Docker所提供的容器管理工具,将改变系统管理和软件开发。Docker很重要,是因为它使得大家都可以使用容器,用它来节省时间、金钱和精力。
职责的逻辑分离
使用Docker后,开发人员只需要关心容器中运行的应用程序,而运维人员只关心如何管理容器,Docker的设计目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境的一致性,从而降低那种"开发时一切都正常,肯定是运维的问题"的风险。
快速、高效地开发生命周期
Docker的目标之一是缩短代码从开发、测试到部署、上线运行的周期,让应用程序具备可移植性,易于构建,并易于协作。
Docker生态良好
众多互联网厂商在其云产品中使用Docker,并积极促进其发展。
简化了软件的安装、分发和删除等工作
Docker有跨平台和开放的特点。操作系统之间的界限变得开始模糊,在第三方产品的选择中操作系统不再是一个考量因素。
实现了基于操作系统的更好、更先进的隔离功能
容器技术以这种或那种形式存在了几十年,Docker的伟大之处在于,帮助开发者使用这些功能的同时,又没有那些复杂性。
鼓励使用面向服务的架构
Docker推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型。在这种模型下,应用程序或服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序都变得非常简单,同时也提高了程序的内聚性。