什麼是 Binder 專案?

Binder 專案為每個人提供了一個輕鬆分享計算環境的平臺。它允許使用者指定自定義環境,並透過一個連結進行分享。使用場景包括研討會、科學工作流以及團隊間的流程簡化與分享。

Binder 專案透過利用社群開發的可復現性標準,構建出能夠獎勵可復現資料科學最佳實踐的工具。當代碼倉庫遵循這些最佳實踐並託管在線上倉庫中時,Binder 會自動構建一個任何人都可以訪問的可連結環境。

Binder 有哪些用途?

Binder 專案的指導原則

Binder 專案在設計其技術和相關實踐時遵循以下原則。這並非詳盡的列表。

  • 程式碼倉庫應同時對人類和機器可讀。
  • 如果存在現有規範和標準,則應加以使用。在採納新規範時,應與 Binder 所服務的社群協商。
  • 支援多種語言和介面。儘可能做到與工作流無關。
  • 保持輕量級和範圍明確,但要能擴充套件到新的工作流、平臺、雲供應商等。

簡而言之,如果您遵循計算科學的最佳實踐,您的程式碼倉庫應該就能與 Binder 相容。

Binder 技術棧包含哪些內容?

Binder 完全由開源基礎設施棧驅動。其主要兩個工具是 BinderHub 和 repo2docker。BinderHub 是一個開源工具,用於在雲端部署 Binder 服務;repo2docker 則用於從 Git 倉庫生成可復現的 Docker 映象。Binder 團隊還在 mybinder.org 上執行一個公共的 BinderHub 部署,作為面向社群的免費公共服務。

repo2docker

這是 repo2docker 倉庫的連結

repo2docker 是一個輕量級工具,可將程式碼倉庫轉換為可復現的 Docker 映象。它定義了可復現執行環境規範,該規範用於定義將倉庫配置檔案轉換為 Docker 映象的規則。

repo2docker 被 BinderHub 廣泛使用,但也可以作為獨立的命令列工具執行,用於生成您自己的、可在 Jupyter 伺服器上執行的可復現 Docker 映象。

要了解更多關於 repo2docker 的資訊,請參閱 repo2docker 文件

BinderHub

這是 BinderHub 倉庫的連結

BinderHub 是一個 Web 應用程式,允許使用者從程式碼倉庫建立可共享、可互動、可復現的環境。它使用 repo2docker 為每個環境生成 Docker 映象,並使用 JupyterHub 從這些映象中提供互動式使用者會話。

BinderHub 是一個基於 Kubernetes 構建的 Web 應用程式,而 Kubernetes 是另一個用於管理雲基礎設施的開源工具。它與雲和硬體無關,這使其具有可擴充套件性和靈活性,能夠適應多種用例和社群。在 mybinder.org 上就有一個 BinderHub 的部署例項。

要了解如何部署自己的 BinderHub,請參閱 BinderHub 文件

mybinder.org

這是 mybinder.org 的連結.

mybinder.org 上的 BinderHub 部署是 Binder 社群為整個社群管理的一項免費公共服務。它實際上是多個 BinderHub 部署的聯合體,是作為開放、社群主導的基礎設施的一項實驗來執行的。我們將 mybinder.org 作為一個高度透明的公共服務來運營,因此有大量關於該部署的資訊可供查閱。如果您感興趣,以下是一些有用的資源:

加入或聯絡 Binder 社群

與所有 Project Jupyter 的專案一樣,Binder 專案是一個開源且由社群驅動的專案。我們非常歡迎您加入我們的社群,貢獻程式碼、時間、意見或支援。