什么是 Binder 项目?

Binder 项目为每个人提供了一个轻松共享计算环境的地方。它允许用户指定自定义环境并通过一个链接共享它们。用例包括研讨会、科学工作流和团队之间的精简共享。

Binder 项目构建了奖励可复制数据科学最佳实践的工具,利用社区开发的可复制性标准。当存储库遵循这些最佳实践并托管在在线存储库中时,Binder 会自动构建一个可链接的环境,供任何人访问。

Binder 有什么用途?

Binder 项目的指导原则

Binder 项目在设计其技术及其周围的实践时使用以下原则。这是一个非详尽列表。

  • 存储库应具有可读性和机器可读性。
  • 如果存在现有规范和标准,请使用它们。在与 Binder 服务的社区协商后采用新规范。
  • 支持多种语言和界面。尽可能与工作流无关。
  • 轻量级且范围紧凑,但可扩展到新的工作流、平台、云供应商等。

简而言之,如果你遵循计算科学中的最佳实践,你的存储库应适用于 Binder。

Binder 堆栈中有什么?

Binder 完全由开源基础设施堆栈提供支持。它的两个主要工具是 BinderHub(一个在云中部署 Binder 服务的开源工具)和 repo2docker(从 git 存储库生成可复制的 Docker 映像)。Binder 团队还作为一项免费的公共服务在 mybinder.org 上运行公共 BinderHub 部署,以服务于社区。

repo2docker

以下是 repo2docker 存储库的链接

repo2docker 是一款轻量级工具,可将代码存储库转换为可复制的 Docker 镜像。它定义了可复制执行环境规范,该规范用于定义将存储库配置文件转换为 Docker 镜像的规则。

BinderHub 广泛使用 repo2docker,但也可以作为独立的基于命令行的工具运行,用于生成自己的可复制 Docker 镜像,这些镜像使用 Jupyter 服务器运行。

要详细了解 repo2docker,请参阅repo2docker 文档

BinderHub

以下是 BinderHub 存储库的链接

BinderHub 是一款 Web 应用程序,允许用户从代码存储库创建可共享、可交互、可复制的环境。它使用 repo2docker 为每个环境生成 Docker 镜像,并使用 JupyterHub 从这些镜像提供交互式用户会话。

BinderHub 是构建在 Kubernetes(另一种用于管理云基础设施的开源工具)之上的 Web 应用程序。它与云和硬件无关,因此具有可扩展性和灵活性,能够适应许多用例和社区。BinderHub 部署的一个示例位于mybinder.org

要了解如何部署自己的 BinderHub,请参阅BinderHub 文档

mybinder.org

以下是 mybinder.org 的链接.

mybinder.org 上的 BinderHub 部署是一项免费的公共服务,由 Binder 社区为社区管理。它实际上是许多 BinderHub 部署的联合,作为开放、社区主导的基础设施的一个实验而运行。我们以一种彻底透明的方式运行 mybinder.org 作为一项公共服务,因此有很多关于该部署的信息。如果您感兴趣,这里有一些有用的资源

加入或联系 Binder 社区

与所有 Project Jupyter 工作一样,Binder 项目是一个开源且社区驱动的项目。我们希望您加入我们的社区并贡献代码、时间、评论或赞赏。