当Docker在2013年初为Linux容器带来新生命时,该技术Swift在软件开发人员中流行起来。 如今,Docker有数百万个容器下载,数千个社区贡献者以及使用它的无数第三方项目。 是什么解释了这种非凡的人气?
有很多文章试图回答这个问题,描述了Docker特性和优势,主要是针对开发人员的。 但是,对于普通用户甚至系统管理员,我们仍然有一些疑问。 在本文中,我试图总结为像我这样的人寻找使用Docker和项目管理工具的人时使用Docker的主要优点。 我专门研究生产力软件,并收到许多有关软件安装的问题,这些问题可以通过Docker简化。
我会专注于...
- OnlyOffice ,一个为企业提供的多合一解决方案,提供了一套项目管理工具,包括甘特图,以及与CRM,电子邮件,带有在线编辑器,日历的文档管理工具的集成。它具有公共自动化功能具有10,000多个请求的Docker存储库 。
- OpenProject ,一个具有多种功能和插件的项目管理工具。 OpenProject有19个不同的Docker存储库,其中最受欢迎的存储库有10,000多个pull。
- Redmine ,一种流行的项目管理和问题跟踪Web应用程序。 Docker Hub中有180多个不同的Redmine存储库。 最受欢迎的是具有超过100,000次拉动的官方存储库 ,以及由sameersbn拥有的存储库,数量相似。
#1。 省时间
项目管理工具旨在使项目贯穿所有阶段,并帮助用户快速有效地实现其目标。 因此,安装应快速简便。 但是有时候,即使我们使用软件包而不是编译源代码,完成所有安装步骤也可能要花费几个小时。 这样做的主要原因是这些工具需要在计算机上安装一些其他组件,并且管理不同的版本可能很繁琐。
为了正常工作,OnlyOffice需要Mono 3.2或更高版本, MySQL 5.6或更高版本以及nginx 。 OpenProject的依赖项列表为: Ruby 2.1, Apache或nginx , Phusion Passenger或Unicorn作为应用程序服务器, MySQL 5.6或更高版本或PostgreSQL 9.1或更高版本作为数据库。 要部署和运行Redmine,我们需要为给定的Redmine版本至少安装Ruby,受支持的数据库后端之一(MySQL,PostgreSQL,Microsoft SQL Server,SQLite 3)来存储数据,以及Bundler来管理gem依赖项。
这些依赖项本身也有很多依赖项。
当我们使用Docker映像时,要安装的唯一依赖项是Docker本身。 然后,我们只需要执行一个命令,即可部署具有所有必要依赖项的所选项目管理工具。
#2。 避免依赖错误
由于需要其他组件,因此在安装和配置它们时可能会出现更多问题。 Docker减少了依赖项的数量,从而减少了特别是对于普通用户可能发生的错误的数量。
#3。 节省资源
为了确保适当的项目管理工具能够正常工作,我们的机器必须满足开发人员指定的所有系统要求。 但是现实情况是,我们机器的设置和环境可能与开发人员用于编写和测试代码的机器的设置和环境不同。 当然,我们可以使用一台“空”计算机(如果计划也使用在线文档编辑器 ,则可以使用两台计算机,如果是OnlyOffice,则可以)并尝试重现该环境。 无论花费多少时间,我们都将无法在此计算机上安装其他任何设备。 或者,您可能会发现需要雇用系统管理员或开发人员来重现必要的环境。
Docker通过提供一种在容器中安全隔离地运行应用程序的方式,使我们能够在一台机器上同时运行多个容器,从而将这些成本降至最低。
#4。 更新更快,更轻松
数据安全性是人们偏爱开源和服务器解决方案而不是基于云的解决方案的主要原因之一。 并且,更新过程本身比软件安装花费更多的时间。
使用Docker,更新过程变得更加容易。 我们可以将数据存储在主机上(通过在Docker run命令中指定-v选项来挂载数据卷),并使用可用于此目的的任何软件进行备份。 然后,我们所需要做的就是删除当前容器,删除当前图像,并使用相同的地图路径运行新图像。 总之,使用三个命令来更新整个项目管理系统。
#5。 使机器保持秩序
选择正确的项目管理工具可能需要一些时间。 他们中的大多数人都提供了可试用的云版本,例如OnlyOffice和OpenProject 。
Docker允许我们在本地计算机上测试工具集并评估其功能,而不会阻塞系统。 我们不需要搜索依赖项并一一卸载,您可以使用一个命令来卸载不合适的工具。
为什么使用Docker?
翻译自: https://opensource.com/business/16/4/5-reasons-use-docker-productivity