什麼是 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 映像檔的規則。

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

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

BinderHub

這是指向 BinderHub 儲存庫的連結

BinderHub 是一款網頁應用程式,允許使用者從程式碼儲存庫建立可分享、互動且可再現的環境。它使用 repo2docker 為每個環境生成 Docker 映像檔,並使用 JupyterHub 從這些映像檔提供互動式使用者工作階段。

BinderHub 是建立在 Kubernetes(另一款用於管理雲端基礎架構的開源工具)之上的網頁應用程式。它與雲端和硬體無關,使其具備可擴充性與靈活性,並能適應多種應用場景與社群。BinderHub 部署的一個範例位於 mybinder.org

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

mybinder.org

這是指向 mybinder.org 的連結.

位於 mybinder.org 的 BinderHub 部署是 Binder 社群為大眾管理的免費公用服務。它實際上是多個 BinderHub 部署的聯盟,作為開放、社群主導型基礎架構的實驗運行。我們以極其透明的方式營運 mybinder.org 這項公共服務,因此有大量關於該部署的資訊公開可用。如果您有興趣,以下是一些實用的資源

加入或聯絡 Binder 社群

與所有 Project Jupyter 的努力一樣,Binder 專案是一個開源且由社群驅動的專案。我們非常歡迎您加入我們的社群,並貢獻程式碼、時間、建議或給予肯定。