让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. UNITY3D MAC版本号破解

    首先,解释一下.是公司做开发建议去购买正版. 之前网上也有非常多人贴出了破解方法,有些也是能够的.可是大多数解说不太具体,在这里贴出相对具体点的教程.本人亲測成功(測试版本Unity4.0.1 mac ...

  2. IOS使用Jenkins持续集成

    本文详细介绍了开发过程,提高效率进行IOS-Jenkins持续集成. 第二http://blog.csdn.net/monkey_cool/article/details/43270885 背景 平时 ...

  3. mysql1130远程连接没有权限解决方法

    原因擅自在两个远程连接,一种是由于mysql限制,一个是防火墙限制. 1,解决防火墙限制: 于mysql服务主机将关闭防火墙,或者在防火墙高级设置这增加了入站和出站规则,加号mysql的port.同意 ...

  4. 【蓝桥杯】 PREV-1 核桃数

    主题链接:http://lx.lanqiao.org/problem.page?gpid=T24   历届试题 核桃的数量   时间限制:1.0s   内存限制:256.0MB        问题描写 ...

  5. iOS_20_微博的骨架结构

    最后效果图: BeyondViewController.m // // BeyondViewController.m // 20_帅哥no微博 // // Created by beyond on 1 ...

  6. (二)给IE6-IE9中的input添加HTML5新属性-placeholder

    同样是最近遇到的一个小问题.因为IE9以下input是不支持placeholder属性的.在网上找到了解决方案,果断带走.正如鲁迅先生所说的‘拿来主义’:运用脑髓,放出眼光,自己来拿!感谢.借花献佛在 ...

  7. 高性能 TCP & UDP 通信框架 HP-Socket v3.2.3 正式公布

    HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包括服务端组件.client组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#. ...

  8. android 简单的登录

    一直都知道WEB通过登录后session拿着回答,如今,安卓不知道怎么弄的. 研究了一下,它记录.直接在代码: server结束: index.jsp <%@page import=" ...

  9. Google大数据三篇著名论文----中文版

    Google File System中文版 Google Bigtable中文版      Google MapReduce中文版

  10. Android Context MODE的四种模式解析(转)

    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中.可以使用Context ...