回顾2015年,Docker社区创建了许多开发人员经验丰富的项目。 尽管很难在所有伟大的贡献中进行选择,但是如果您正在寻找扩展知识和使用Docker的方法,则应该使用以下10个“出色的工具”。
在Docker全球Hack Day#3上的获奖作品中, Container Migration团队从DockerCon演讲中汲取了灵感,其中Michael Crosby( @crosbymichael )和Arnaud Porterie( @icecrime )在全球范围内迁移了Quake 3容器,演示了在保持TCP连接。 CMT项目创建了一个外部命令行工具,该工具可以与Docker或runC一起使用,以通过执行迁移前验证并允许其自动发现合适的目标主机,来帮助在不同主机之间“实时迁移”容器。
我们不得不添加一个有趣的! 许多Docker用户在容器中运行自定义的Minecraft服务器。 但是Dockercraft是Minecraft客户端,用于可视化和管理Docker容器。 轻按开关,即可打开或关闭容器。 只需按下一个按钮,您就可以销毁一个。 Dockercraft是一个有趣的项目,令人惊奇地令人上瘾,它来自Docker工程师Adrien Duermael和Gaetan de Villele。
Docker Label Inspector工具有助于确保开发人员向Docker映像提供通过Internet分发时所需的元数据容器。 具体来说,该工具使开发人员可以使用Docker标签在容器技术领域内创建元数据,根据官方标签架构检查标签,并根据提供的JSON模式进行验证。
Dvol为Docker中的开发数据库启用版本控制。 Dvol允许您提交,重置和分支运行在笔记本电脑上的容器化数据库,因此您可以轻松保存特定状态并稍后再返回。 Dvol还可以与Docker Compose集成,以在笔记本电脑上启动可重现的微服务环境。
用于Docker容器的IP虚拟服务器(IPVS)在DockerCon EU上展出,可使用开源IPVS进行生产级负载平衡和请求路由,该软件已成为Linux内核的十多年了。 它支持TCP,SCTP和UDP,并且可以达到快速速度,通常在直接连接速度的5%之内。 其他功能包括NAT,隧道和直接路由。 为了使IPVS易于使用,在Docker容器内将Go Routing and Balancing(GORB)守护进程创建为REST API,以为Docker提供IPVS路由。
Libnetwork组合了来自libcontainer和Docker Engine的网络代码,以创建用于网络容器的多平台库。 libnetwork的目标是提供一个健壮的容器网络模型,该模型提供一致的编程接口和应用程序所需的网络抽象。 有许多网络解决方案可用于广泛的用例。 libnetwork使用驱动程序/插件模型来支持所有这些解决方案,同时通过向用户公开简单且一致的网络模型来抽象出驱动程序实现的复杂性。
在DockerCon闭幕式上 ,来自Hypriot的Dieter Reuter演示了一个在Raspberry Pi 2设备上运行500个Docker容器的演示。 Dieter深信容器的数量至少可以增加一倍,然后向Docker社区提出挑战,要求打破他的个人记录。 Dieter Reuter在他的项目中展示了如何在Raspberry Pi上使用Docker以及如何扩展可以在单个Raspberry Pi 2上驻留的容器中运行的Web服务器的数量。目前的记录是超过2500个Web服务器在单个Raspberry Pi 2上的容器中运行。
这个开源的面向用户的工具将Spark (一个用于大数据计算的数据密集型框架)与Docker Swarm联系在一起。 Zoe可以执行长期运行的Spark作业,还可以执行Scala或iPython交互式笔记本和流应用程序,涵盖整个Spark开发周期。 计算完成后,由于所有进程都在Docker容器中运行,因此资源会自动释放并可供其他用途。 该工具可以在Swarm之上进行应用程序调度并优化容器放置。
该演示首先在DockerCon EU( Unikernels,认识Docker! )上发布,是一个很酷的技巧,它演示了如何将unikernels视为任何其他容器。 在此演示中,使用了Docker来构建unikernel微服务,然后使用数据库,webserver和PHP代码部署一个真正的Web应用程序,它们都作为使用Rump Kernels构建的独特的unikernel微服务运行。 Docker像Linux容器一样管理unikernel,但部署传统操作系统。 除了演示中显示的带有Nibbleblog unikernelMySQL,MySQL,NGINX和PHP外,该存储库还包含一些入门指南的示例。
Wagl是一种DNS服务器,它允许在分布式Docker Swarm集群上作为容器运行的微服务相互查找和对话。 Wagl是极简主义的工具,可作为群集中的嵌入式容器,通过旋转DNS记录中的IP地址列表来提供基于DNS的服务发现和简单的负载平衡。