回顾 2015 年,Docker 社区创建了许多项目,提升了开发者体验。尽管在众多杰出贡献中做出选择很困难,但如果您正在寻找扩展 Docker 知识和使用方法的方式,以下是 10 个您应该使用的“酷炫工具”。
1. 容器迁移工具 (CMT)
容器迁移团队在 Docker 全球黑客日 #3 中凭借一个获奖作品,从 DockerCon 的一次演讲中获得灵感,Michael Crosby (@crosbymichael) 和 Arnaud Porterie (@icecrime) 在演讲中在全球范围内迁移了一个 Quake 3 容器,演示了在保持 TCP 连接的同时进行容器迁移。CMT 项目创建了一个外部命令行工具,该工具可以与 Docker 或 runC 一起使用,通过执行迁移前验证并允许自动发现合适的目标主机,来帮助在不同主机之间“实时迁移”容器。
2. Dockercraft
我们必须添加一个有趣的!许多 Docker 用户在容器中运行自定义 Minecraft 服务器。但 Dockercraft 是一个 Minecraft 客户端,用于可视化和管理 Docker 容器。只需拨动开关,容器即可打开或关闭。只需按下一个按钮,您就可以销毁一个容器。Dockercraft 是一个有趣的项目——令人惊讶地上瘾——来自 Docker 工程师 Adrien Duermael 和 Gaetan de Villele。
3. Docker 标签检查器
Docker 标签检查器工具帮助确保开发人员在通过互联网分发 Docker 镜像时,提供带有元数据容器的 Docker 镜像。具体而言,此工具使开发人员能够使用 Docker 标签 在容器技术领域内创建元数据,根据官方标签模式检查标签,并根据提供的 JSON 模式进行验证。
4. dvol
Dvol 可以在 Docker 中为您的开发数据库启用版本控制。Dvol 允许您提交、重置和分支在笔记本电脑上运行的容器化数据库,以便您可以轻松保存特定状态并在以后返回到该状态。Dvol 还可以与 Docker Compose 集成,以在您的笔记本电脑上启动可重现的微服务环境。
5. IPVS 守护进程 GORB
在 DockerCon EU 上展示的 Docker 容器 IP 虚拟服务器 (IPVS) 使用开源 IPVS 实现生产级负载均衡和请求路由,IPVS 已成为 Linux 内核的一部分十多年。它支持 TCP、SCTP 和 UDP,并且可以实现快速速度,通常在直接连接速度的 5% 以内。其他功能包括 NAT、隧道和直接路由。为了使 IPVS 更易于使用,创建了 Go 路由和负载均衡 (GORB) 守护进程,作为 Docker 容器内的 REST API,为 Docker 提供 IPVS 路由。
6. libnetwork
Libnetwork 结合了 libcontainer 和 Docker Engine 的网络代码,创建了一个用于网络容器的多平台库。libnetwork 的目标是交付一个强大的容器网络模型,该模型为应用程序提供一致的编程接口和所需的网络抽象。有许多可用的网络解决方案可以满足广泛的用例。libnetwork 使用驱动程序/插件模型来支持所有这些解决方案,同时通过向用户公开一个简单而一致的网络模型来抽象化驱动程序实现的复杂性。
7. Raspberry Pi 挑战赛
在DockerCon 闭幕主题演讲中,来自 Hypriot 的 Dieter Reuter 展示了一个在 Raspberry Pi 2 设备上运行 500 个 Docker 容器的演示。Dieter 确信容器的数量至少可以翻一番,然后他挑战 Docker 社区打破他的个人记录。作为其项目的一部分,Dieter Reuter 演示了如何在 Raspberry Pi 上开始使用 Docker,以及如何扩展可以驻留在单个 Raspberry Pi 2 上的容器中运行的 Web 服务器的数量。目前的记录是在单个 Raspberry Pi 2 上运行超过 2,500 个 Web 服务器。
8. 使用 Zoe 分析扩展 Spark
这个面向用户的开源工具将 Spark(一个用于大数据计算的数据密集型框架)和 Docker Swarm 结合在一起。Zoe 可以执行长时间运行的 Spark 作业,还可以执行 Scala 或 iPython 交互式笔记本和流式应用程序,涵盖完整的 Spark 开发周期。当计算完成时,资源会自动释放并可用于其他用途,因为所有进程都在 Docker 容器中运行。此工具可以在 Swarm 之上实现应用程序调度和优化的容器放置。
9. Unikernel 演示源代码
最初在 DockerCon EU (Unikernels,meet Docker!) 上作为一项酷炫的黑客技术亮相,此 演示展示了如何将 unikernel 视为任何其他容器。在此演示中,Docker 用于构建 unikernel 微服务,然后部署一个真实的 Web 应用程序,其中包含数据库、Web 服务器和 PHP 代码,所有这些都作为使用 Rump Kernels 构建的独特 unikernel 微服务运行。Docker 像管理 Linux 容器一样管理 unikernel,但无需部署传统的操作系统。除了演示中显示的带有 Nibbleblog unikernel 的 MySQL、NGINX 和 PHP 之外,此存储库还包含一些关于如何入门的示例。
10. Wagl,用于 Swarm 的 DNS 服务发现
Wagl 是一个 DNS 服务器,允许在分布式 Docker Swarm 集群上作为容器运行的微服务相互查找和通信。Wagl 非常简洁,可以在您的集群中作为即插即用容器工作,通过轮换 DNS 记录中的 IP 地址列表来提供基于 DNS 的服务发现和简单的负载均衡。
2 条评论