让Docker功能更强大的10个开源工具

更好的管理、Web前端程序、更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区。

软件项目的成功常常根据其催生的生态系统来衡量。围绕或基于核心技术构建的项目增添了功能和易用性,它们常常日臻完善。Docker就是一个典例,这个软件容器化系统让IT部门可以专注于应用程序、而不是虚拟机,作为生产的标准单位。

Docker一向备受第一方和第三方开发人员的关注,而众多项目扩展、补充或改进Docker,却没有成为Docker的一部分。下面是如今正在开发中的10个最知名的项目,从长远来看,有些项目有机会成为Docker的一部分。

Kubernetes

谈论第三方Docker项目自然少不了提到Kubernetes,这是谷歌开发的一款开源Docker管理工具,用于跨计算机集群部署容器。除了通过让集群上部署的容器保持均衡,从而有助于管理Docker节点的工作负载外,Kubernetes还提供了让容器可以彼此联系的方法,不需要开启网络端口或执行其他操作。这些功能,加上Kubernetes用Go编写的事实(Docker也用这种语言编写),强烈表明它在未来某个时间会并入到Docker。

项目:Kubernetes

GitHub:https://github.com/GoogleCloudPlatform/kubernetes

Dockersh

如果你想让用户可以访问外壳(shell),可是对由此带来的安全后果有顾虑,Dockersh提供了一种Docker化的方式,为外壳会话提供高于平均水平的安全性。

Dockersh让多个用户可以连接到某个主机,每个用户都运行自行选择的单独的Docker容器所生成的外壳。用户可以查看其主目录,并对主目录进行永久性更改,但他们只能看到自己的进程,而且只能使用自己的专用网络堆栈。开发者担心Dockersh里面的潜在安全漏洞,不建议它用于不受限制的公众访问,至少在Docker以这种方式加以改进之前不建议这么做。而光这个概念就让这个项目值得关注。

项目:Dockersh

GitHub:https://github.com/Yelp/dockersh

DockerUI

虽然大多数开发人员和管理人员通过命令行来创建及运行Docker容器,但Docker的Remote API让他们可以通过充分利用REST(代表性状态传输协议)的API,运行相同的命令。这时,DockerUI有了用武之地。这个Web前端程序让你可以处理通常通过Web浏览器的命令行来管理的许多任务。某一个主机上的所有容器都可以通过仅仅一条连接来处理,该项目几乎没有任何依赖关系。不过,它仍在大力开发之中,但是它采用麻省理工学院(MIT)许可证,所以可以免费地重复使用。此外,它不包含任何内置的身份验证或安全机制,所以务必将任何公之于众的DockerUI连接放在用密码来保护的系统后面。

项目:DockerUI

GitHub:https://github.com/crosbymichael/dockerui

Shipyard

Shipyard使用Citadel集群管理工具包,简化对横跨多个主机的Docker容器集群进行管理。通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。包含完整的API和命令行接口(CLI),而专门构建的Docker镜像(又叫扩展镜像)可用来扩展Shipyard的功能。这后一个想法仍在开发之路,不过可以通过Interlock项目,获得负载均衡/路由镜像。

项目:Shipyard

GitHub:https://github.com/shipyard/shipyard

Kitematic

许多项目旨在让Docker成为基于OS X的编程员们手里一款实用的桌面环境开发工具,而Kitematic正是其中之一。它简化了下载Docker镜像、启动这些镜像以及管理它们的过程,让这项任务变得如同在VMware Workstation等应用程序中使用虚拟机一样简单。同一类别的其他项目包括:DVM、Docker OS X和OS X Installer,不过Kitematic很可能是这批项目中最完善的。唯一的重大缺点是,卸载过程有点错综复杂。

项目:Kitematic

GitHub:https://github.com/kitematic/kitematic

Logspout

Docker还没有提供一种方法来管理在Docker容器里面运行的程序所生成的日志。Logspout是一个Docker容器,大小仅14MB,使用BusyBox作为其核心,它可以将来自容器应用程序的日志发送到某一个中央位置,比如单一JSON对象或者通过HTTP API可获得的流式端点。就挖掘的信息方面而言,Logspout目前功能有限,因为它只能实现容器的标准输出(stdout)和标准错误输出(stderr),不过已计划一旦Docker提供相关钩子(hook),就允许更全面的日志功能。将来应密切关注这个项目。

项目:Logspout

GitHub:https://github.com/progrium/logspout

Autodock

Docker自动化工具可以说是个大众化产品。毕竟,更容易自动化不是Docker的全部意义吗?但Autodock却凭借几个不同之处脱颖而出。它被设计成可在使用Salt和SaltStack作为主要自动化技术的环境中运行,它还经过了专门的设计,通过确定某一个Docker集群中哪些服务器拥有的负载最小,以便尽快启用新容器。一个可能存在的缺点是,让它发挥功效需要好多基本组件(SaltStack、Golang、Etcd和Python)。

项目:Autodock

GitHub:https://github.com/cholcombe973/autodock

DIND(Docker-in-Docker)

Docker-in-Docker正如其名:这是让你可以在Docker容器里面运行Docker的一种方式,在Docker 6.0中实现的方式是,为容器添加特权模式。

抛开噱头和笑话不说,如果你想把Docker本身作为一项服务提供给Docker容器,这个工具很有用――比如说,如果你想试用某种自动化工具或方法。请注意,Docker的“内部”实例是最新的Docker二进制代码,构建时可以从docker.io来获取。另外牢记一点:以这种方式运行的实例是在特权模式下运行的;正因为如此,你将它们暴露在非Docker化的外界面前时,需要采取更多的防范措施。

项目:Docker-in-Docker

GitHub:https://github.com/jpetazzo/dind

Heroku-Docker

Heroku曾是一种支持多种语言的出色的平台即服务(PaaS),如今在一定程度上仍然是这样,但Docker让我们几乎可以在任何地方从事类似PaaS的工作。为此,对那些想方设法将现有的Heroku项目迁移到Docker,又无须从头开始重新构建的人来说,这是个不二的选择。这个简单的小项目拿来现有的Heroku应用程序后,可以从命令行将其转换成Docker镜像,执行整个操作只需要几个命令就行。

项目:Heroku-Docker

GitHub:https://github.com/ddollar/heroku-docker

Docker Node Tester

当你使用某一项最热门的新IT技术作为另一项热门的新IT技术的测试机制时,会使用什么?显然是Docker Node Tester。DNT提供了一个测试平台,Node.js项目针对Docker容器中多个版本的Node.js运行,然后以表格方式输出结果。你还可以针对最前沿版本的Node进行测试,无论是什么版本。请注意,不同版本的Node都是从源代码构建的,这意味着你最后会得到Node整个源代码树的本地副本;确保你有足够的空间来存储它。

项目:Docker Node Tester

GitHub:https://github.com/rvagg/dnt

英文:http://www.itworld.com/article/2841314/10-open-source-tools-to-make-docker-even-more-powerful.htm

让Docker功能更强大的10个开源工具的更多相关文章

  1. pandas的筛选功能,跟excel的筛选功能类似,但是功能更强大。

    Select rows from a DataFrame based on values in a column -pandas 筛选 https://stackoverflow.com/questi ...

  2. 功能更强大的格式化工具类 FormatUtils.java

    package com.util; import java.text.DecimalFormat; import java.text.ParseException; import java.text. ...

  3. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  4. Syncovery 是目前功能最为强大的实时自动备份工具

    Syncovery Pro(原名叫做Super Flexible Synchronizer) 是目前功能最为强大的实时自动备份工具,连FTP.WebDAV等全部支持! 最近从V6开始改用比较好记.易懂 ...

  5. 一个比 Nginx 功能更强大的 Web 服务器

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Caddy 简介 Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随 ...

  6. Excel Interactive View - 让页面表格的功能更强大

    MS Office Excel Services提供了一个非常强大的功能,允许你只需要在页面上添加非常少量的JS references,就可以让你在页面上将表格的内容以Excel图表的方式呈现.这里是 ...

  7. 比 Navicat 还要好用、功能更强大的工具!

    DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议.可以通过官方网站或者 Github 进行下载. 由于 DBeaver 基于 Java 开发 ...

  8. 让ecshop编辑器功能更强大

    ecshop后台的商品编辑和文章编辑使用的是FCKEDITOR 编辑器, 这个FCKEDITOR的工具条(toolbar)是可以自定义的,ECSHOP默认使用的是 normal ,属于中档功能, 下面 ...

  9. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

随机推荐

  1. Spring FrameWork4(MVC + IOC)高速入门实例

    使用Maven创建project并配置依赖项 首先创建一个Maven Project: 然后选择创建Maven 的webapp实例,当然也能够通过命令行方式创建Maven webapp的项目再转化并导 ...

  2. VisualStudioOnline协同工作流程

    VisualStudioOnline协同工作流程 项目负责人登陆自己的vsonline新建项目就不多说了. 直接从邀请队友开始 项目负责人操作 被邀请的邮箱必须是微软的邮箱(也就是可以登录visual ...

  3. Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号

    原文:Chapter 1 Securing Your Server and Network(4):使用虚拟服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...

  4. [Python 学习] 两、在Linux使用平台Python

    在本节,它介绍了Linux如何使用平台Python 1. Python安装. 今天,大多数把自己的版本号Python的,它不能被安装.假设你要安装它,可以使用相应的安装指令. Fedora:先以roo ...

  5. POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量

    联系:http://poj.org/problem?id=2391 题意:有f个草场,每一个草场当前有一定数目的牛在吃草,下雨时它能够让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路 ...

  6. Maven+Spring

    Maven+Spring 关于Maven Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期.即项目的jar包依赖,开发,测试,发布打包. 做过.NET的人应该会联想到Nuget,是的 ...

  7. dom 规划(html和xml)

    html dom与xml dom关联: 什么是 DOM? DOM 是 W3C(万维网联盟)的标准. DOM 定义了訪问 HTML 和 XML 文档的标准: "W3C 文档对象模型 (DOM) ...

  8. android做设计的每一个屏幕尺寸和分辨率(一个)

    一个.与分辨率无关 1.使用dp(dpi) Android密度不依赖像素(dp)指定屏幕尺寸,它同意不同的屏幕尺寸和像素密度类似设备通过缩放来达到同样的效果. (不解决不同屏幕尺寸的问题?) 2.的资 ...

  9. 朝花夕拾-4-shell

    引言 shell,我们常常会用到,以其强大的功能,会帮助我们解决非常多棘手的问题.近期遇到一个问题,要跑非常多case,假设串行的执行,须要非常久.能不能让他们并行起来,但又不能全部case都并行执行 ...

  10. SSH骨架Struts(1)——Struts执行过程

    收养Struts骨架Web应用,以举例的方式介绍的基本流程. 一.实例 Login.jsp,进行系统登录的页面 <form action="login.do" method= ...