评论 如何使用Docker:系统管理员的建议

如何使用Docker:系统管理员的建议

Anonim

Docker是一个开放源代码平台,用于在Linux服务器上的虚拟容器中构建,管理和运行应用程序。 这些容器是在Linux内核中通过OS虚拟化创建的虚拟空间,在这些内核中资源被隔离。 它们不同于PaaS服务(例如Microsoft Azure或Amazon EC2),后者提供称为服务器实例的虚拟服务器。 可以将Docker视为交付用户实例的一种方式。

由于这些隔离的容器,Docker允许开发人员和系统管理员交付快速,集中管理和安全的分布式应用程序。 许多人声称,性能要比虚拟服务器更为灵活和轻便。 开源社区项目吸引了开源爱好者以及像Red Hat,Microsoft和Rackspace这样的大型科技公司,所有这些公司都已宣布计划或已经推出Docker及其产品之间的某种形式的互操作性。

系统管理员,尤其是那些花费大部分时间来管理中小型Windows基础架构的管理员,可能很难理解Docker可以为他们及其管理的系统做些什么。 因此,我们与经验丰富的系统管理员进行了交谈,他也是一个热情的Docker用户,Kelsey Hightower,该顾问与像CoreOS这样的各种初创公司合作,后者基于Docker交付了产品。

PCMag: 您和您的组织当前如何使用Docker?

高塔: Docker内置于操作系统中,是运行应用程序的主要方法。 没有包管理器或本地运行时-没有Java,Python,Ruby或Perl。 我们帮助平台即服务提供商构建其基于Docker的产品。 CoreOS提供了其他工具来帮助管理Docker容器。

PCMag: 您能为Docker提供一些“现实世界”用例吗?

高塔: 大多数公司都在使用Docker替代复杂的应用程序包装。 例如,如果您有Java应用程序,则需要一个JVM,最可能是一个应用程序容器,它需要使用不同版本的JVM和Tomcat。 为简化起见,Docker用于创建具有正确版本的Java,Tomcat和其他应用程序依赖项的容器。 不再有冲突!

Docker用于自动化测试和CI(持续集成)。 Linux容器(由Docker管理)比VM容器的构建和启动速度要快得多。 现在,在测试环境中,我们正在启动数据库,消息代理和应用程序在运行集成测试之前所依赖的其他服务。 由于我们现在正在对真实物体进行测试,因此可以提高测试质量。

Docker使创建生产型开发环境变得容易。 在单个Docker主机上,我的开发人员可以轻松启动生产中运行的所有组件,包括数据库,缓存服务器等。类似于使用Docker进行测试,由于可以访问要进行开发的真实环境,因此开发质量得以提高。 在单个虚拟机上运行多个容器的能力,我可以为每个开发人员提供自己的环境。

PCMag: 您认为学习曲线对于不编码或不多使用命令行的系统管理员有多大的帮助?

高层 从较高的层次 上讲 ,如果您可以从命令行启动和停止Windows或UNIX服务,那么您就有足够的基础开始使用Docker。

但是,仍然需要更深入地研究Docker作为构建和共享Linux容器以及管理它们的工具。

提示和提示

Hightower还为系统管理员提供了一些使用Docker的提示和技巧:

使用Docker创建Linux容器:

技能水平:中级。 应具有构建Linux RPM,MSI之类的软件包或zip和tar文件之类的简单应用程序包的经验。

提示:使用Docker创建Linux容器非常简单。 您只需要一个有效的Docker设置和一个Dockerfile,这是一个文本文档,其中包含您通常会手动生成以构建Docker映像的所有命令。

使用Docker管理Linux容器:

技能水平:初学者。

提示:Docker命令行工具是分发,启动和停止Linux容器的最流行方法。 使用命令行的大多数系统管理员都会对使用Docker的CLI毫无疑问。 这里最大的收获是Docker守护程序不能在Windows或Mac OS X上本地运行-需要运行Linux的Docker主机。 大多数人选择使用Boot2Docker在本地VM或在云中(使用EC2,Google Computer等)在本地VM中运行Docker主机。Hightower说:“我亲自在Mac上的VMware Fusion上运行CoreOS。只需5分钟。一旦Docker主机安装到位,Docker CLI工具将在Windows和Linux上正常运行。”

Hightower还建议,既然Docker 1.0已经发布,我们很可能会看到更多基于GUI的工具可用。 他还建议您看一下Tutum.co,这是一个托管的Docker解决方案,可无缝处理Docker容器。

如何使用Docker:系统管理员的建议