Docker 管理
透過 Docker socket 管理主機上的容器、Compose 專案、映像檔、網路與磁碟區。入口為側邊欄「Docker」,頁面分為「容器」「Compose」「映像檔」「網路」「磁碟區」「系統」六個分頁。無法連線 Docker 時,頁面頂部會顯示錯誤詳情和開啟設定的快捷按鈕。
啟用方式
Gately 執行在容器中時,掛載主機的 Docker socket:
bash
-v /var/run/docker.sock:/var/run/docker.sockDocker 位址預設為 unix:///var/run/docker.sock,可在「系統」分頁的設定中修改。
安全提示
掛載 docker.sock 等同於授予主機 root 等級的權限。不需要 Docker 管理時請移除該掛載,並保護好管理介面(兩步驟驗證、安全入口、僅限內網存取)。
容器
- 清單可依「全部」「執行中」「已停止」篩選,卡片顯示映像檔、網路、連接埠、掛載與更新狀態;
- 操作:啟動、停止、重新啟動、暫停、恢復、強制終止、重新命名、刪除(可同時刪除匿名磁碟區)、提交為映像檔;
- 自身保護:Gately 會識別自己所在的容器與 Compose 專案,停止、強制終止、暫停、刪除容器以及對所在專案執行
down等會讓自己無法存取的操作會被拒絕。 - 新增與編輯:表單涵蓋名稱、映像檔(可建立前先拉取)、建立後啟動、命令與 Entrypoint、環境變數、連接埠對應(TCP/UDP,可指定主機 IP)、掛載(目錄 bind 與磁碟區 volume,可唯讀)、主網路與額外網路、固定 IP、別名、重新啟動策略(
no、always、unless-stopped、on-failure及最大重試次數)、特權模式、新增或移除 capability、裝置對應、使用者、工作目錄、主機名稱、DNS、標籤、記憶體上限(MB)、CPU 核心數、TTY 與保持 stdin。編輯時以原容器設定為基礎重建,表單未涵蓋的設定項保留原值,重建失敗自動回復; - 詳情頁分頁:
- 概覽:狀態、結束碼、重新啟動次數、健康狀態、網路詳情、掛載、所屬 Compose 專案與服務;
- 日誌:檢視最近日誌,可顯示時間戳記;
- 終端機:在執行中的容器內開啟互動終端機(預設
/bin/sh,可指定命令與使用者,配色與 Web 終端機的偏好一致); - 檔案:瀏覽容器內檔案,線上編輯文字(最大 1MiB),上傳、下載(目錄打包為 tar.gz)、重新命名、新增目錄、刪除;刪除透過容器內
rm -rf完成,容器需處於執行狀態; - 監控:CPU、記憶體、網路與磁碟 IO、行程數的取樣,以及容器內行程清單。
Compose
Compose 專案由容器標籤 com.docker.compose.project 等彙整而得,顯示狀態(執行中、部分執行、已停止)與各服務。
- 啟動、停止、重新啟動、暫停、恢復、
down(可同時刪除具名磁碟區)、檢視彙整日誌(每行加上服務名稱前綴); - 新增專案:貼上 compose 內容,Gately 寫入設定目錄
compose/<name>/compose.yaml並執行 up,這類專案標記為「managed」,可編輯 Compose 檔案、儲存並套用,也可刪除整個專案; - 對既有專案可線上編輯第一個 compose 檔案(檔案需可寫入),並選擇寫回後立即 up;
up、拉取映像檔、建置以及檔案讀寫依賴docker compose命令列與對 compose 檔案路徑的存取,無法使用時介面會提示「未偵測到 docker compose 命令」。
映像檔
- 清單顯示標籤、大小、建立時間、被引用的容器數與懸空狀態,詳情包含層歷程、環境變數、公開連接埠等;
- 拉取:依「系統」設定裡的倉庫帳號驗證,直接拉取失敗且設定了映像檔加速位址時依序嘗試,並重新標記為原名;支援搜尋 Docker Hub;
- 推送、新增標籤、刪除(可強制)、建置(內嵌 Dockerfile 或 Git 位址,可帶建置參數)、匯入與匯出 tar(
docker save格式); - 更新檢查:單一容器檢查或「檢查全部更新」,結果標記在各容器上;
- 一鍵升級:拉取新映像檔後重建容器,沿用原設定;升級失敗自動回復到原容器。支援多選批次升級;
- 「清理懸空」一鍵刪除無標籤且未使用的映像檔。
網路與磁碟區
- 網路:清單顯示驅動、範圍、子網、閘道與接入的容器,可建立(驅動、子網、閘道、內部網路、IPv6)、刪除,容器可接入或中斷網路,內建網路受保護;
- 磁碟區:顯示驅動、掛載點、大小、引用數與使用它的容器,可建立、刪除(可強制)、匯出為 tar.gz、從 tar.gz 匯入。匯出和匯入藉助臨時 alpine 輔助容器完成,映像檔缺失時自動拉取。
系統
「系統」分頁包含:
- 主機與 Docker 資訊:版本、API 版本、系統與架構、核心、CPU 與記憶體、儲存驅動、資料目錄、容器與映像檔數量、Compose CLI 版本;
- 磁碟用量:映像檔、容器、磁碟區與建置快取的數量、大小與可回收量;
- 清理:已停止容器、懸空映像檔、全部未使用映像檔、未使用網路、未使用磁碟區(資料永久遺失)、建置快取;
- 設定:
| 欄位 | 說明 |
|---|---|
host | Docker 位址,預設 unix:///var/run/docker.sock |
mirrors | 映像檔加速位址清單,直接拉取失敗時依序嘗試;與 /etc/docker/daemon.json 的 registry-mirrors 彼此獨立,後者由 Docker 自動使用,並在設定頁以「守護行程加速」唯讀顯示 |
registries | 私有倉庫登入資訊(server、username、password),密碼在介面中遮蔽 |
autoCheckHours | 大於 0 時依該小時間隔自動檢查容器映像檔更新,0 表示關閉 |
背景工作
拉取、推送、建置、批次檢查、批次升級、Compose up 等耗時操作以背景工作執行,頁面底部的工作面板顯示即時輸出與狀態(執行中、完成、錯誤),可檢視歷史並清除已結束的工作。重新整理頁面後會恢復仍在執行的工作。
事件通知
Gately 訂閱 Docker 事件串流,容器異常結束(結束碼非 0)或觸發 OOM 被終止時發布 docker.exited 事件,可在 通知中心 設定接收管道。結束碼為 0 的正常停止不會通知。Docker 暫時無法使用時每 30 秒自動重試訂閱。
介面
完整介面說明請見 Docker API。