以 Fig 快速建構 Docker 的多容器環境

(2015-02-07 update: Fig 正式納入 Docker 體系旗下,用法差異見此)


前言

Docker 是作業系統層級的軟體虛擬化,有著封裝、快速啟動、低系統負載的特性。

對於個別指令或服務,可直接以 Docker 指令啟動容器 (container);但碰到多項服務共構的軟體專案,逐行輸入指令顯然沒有效率。於是採用 Fig 記錄整個專案所需的 container,包含連接埠、資料儲存等組態設定,爾後一行指令即可建立並啟動 container。

以下將以 Selenium 2 為例,示範 Fig 如何建立專案所需的多個 container。

Selenium

Selenium 發展至 2.0,由以往中央控管的驅動方式轉為鬆散耦合的多點執行,角色可分為 hub 與 node;前者負責控管及轉發任務、後者則執行測試工作。

若欲建立同時支援 Chrome 及 Firefox 的測試環境,則需採用以下 container:

並於命令列或以腳本執行以下指令:

Fig

若改用 Fig,則以 YAML 檔結構化記錄組態

指定啟動後於背景執行:

fig up -d

採用 Fig 的好處除了依設定檔啟用多個軟體容器,還支援簡易的 container 管理,如:

  1. 同時停止專案內多個軟體容器:
    fig stop
  2. 同時刪除專案內多個軟體容器:
    fig rm
  3. 增加或減少專案內個別容器數:
    fig scale chrome=2 firefox=3

參考資料

  1. Installing Docker
  2. Installing Fig

Leave a Reply

Your email address will not be published.