回顾 2015,Docker 社区创建了很多项目,丰富了开发者的体验。虽然在众多优秀的贡献中进行评选很难,但是下面 10 个酷炫工具 最值得 在我们使用 Docker 的过程中去了解。
在全球 Docker 黑客大赛的第三天,一个由 Michael Crosby ( @crosbymichael )和 Arnaud Porterie ( @icecrime )组成的团队吸引了 容器迁移组 的注意,他们在保持 TCP 连接的情况下,对 Quake 3 容器进行了全球性的迁移。CMT 项目开发了一个外部命令行,可以用 Docker 或者 runC 在不同的主机间进行“实时迁移”,迁移前首先进行一个预校验,然后可以自动发现合适的目标主机。
我们一定要加入这么有趣的一个工具! 许多用户在 Docker 容器中运行定制版的 Minecraft 游戏服务器。不过 Dockercraft 是一个可视化管理 Minecraft Docker 容器的客户端。拨动一下开关,一个容器就打开或关闭了。点击一个按钮,你就可以销毁一个容器。Dockercraft 是一个有趣的项目——很容易上瘾哦——来自 Docker 工程师 Adrien Duermael 和 Gaetan de Villele。
Docker 标签分析工具通过辅助确认开发人员提供的,通过互联网分发的 Docker 镜像包含容器要求的元数据。 具体来说,这个工具允许开发者使用 Docker 标签 去创建容器技术领域的元数据,依据官方标签格式和依据提供的 JSON 格式检测标签。
Dvol 允许在数据库开发中使用版本控制。Dvol 允许你对容器化运行在笔记本上的数据库进行提交,重置,分支,所以很容易保存一个特定状态,以便需要时回退。Dvol 可以用 Docker Compose 在笔记本电脑上,整合迭代再生微服务环境。
由 DockerCon EU 提供,IP Virtual Server (IPVS) for Docker 容器有产品级的负载均衡,使用开源 IPVS 路由请求, 已加入 Linux 内核十年之久。 支持 TCP, SCTP,UDP,速度更快, 耗时仅需直连的 5%。其他还包括 NAT, 隧道, 直接路由。使 IPVS 易于使用,在 Docker 容器内,GORB 守护进程提供 REST API 接口,为 Docker 提供 IPVS 路由。
Libnetwork 结合了 libcontainer 和 Docker 引擎的代码,为网络容器创建了一个快平台的库。libnetwork 的目标是提供一个健壮的网络模型,提供了一个一致的编程接口和网络应用程序抽象层。已经有许多广泛使用的网络解决方案案例。Libnetwork 用驱动/插件模型来支持所有这些解决方案,抽象驱动实现的复杂性。提供给用户一个简单的和一致的网络模型。
在 DockerCon closing keynote, Dieter Reuter 演示了在一个树莓派 2 设备商运行 500 个 Docker 容器。相信运行的容器数至少还可以增加一倍, Dieter刷新了此前在Docker社区上创建的记录。作为他项目的一部分, Dieter Reuter 演示了怎样在树莓派上启动 Docker 和怎样在树莓派上多个容器中上调整运行的 web 服务器数量。 目前记录是:单个树莓派 2 运行 2,500 个 web 服务器。
这个面向用的开源工具组合了 Spark —— 数据密集型大数据计算框架, Docker Swarm 。Zoe 可以执行长时间运行的 Spark jobs,支持 Scala,iPython 交互式笔记本和流应用,涵盖整个 Spark 开发周期。当完成计算,资源会自动释放和用于其他用途,因为所有的进程都运行在 Docker 容器中。这个工具允许应用程序在 Swarm 上调度运行和优化容器放置。
在 DockerCon EU ( Unikernels, meet Docker! )上首次公布了一个很酷的黑客工具,这里有 演示 ,展示怎样让 unikernels 被认为是另外一个容器。演示中 Docker 构建了一个 unikernel 微服务,部署了一个真正的带数据库的 php web 应用程序,一切都运行在使用 Rump Kernels 构建的 unikernel 微服务上。Docker 像管理 Linux 容器一样管理 unikernels, 但不需要部署一个传统的操作系统。演示中包含MySQL,NGINX,PHP 的 Nibbleblog 程序,代码仓库中还有样例演示怎样启动
Wagl 是一个 DNS 服务器,允许微服务作为容器运行在分布式 Docker Swarm 上,来发现和相互交谈。Wagl 是最小的实现和作为运行在集群上的容器,提供以域名服务发现和简单的负载平衡,轮询一个在 DNS 记录里 IP 地址列表。