Dockge 完整教學:輕量、透明、優雅的 Docker 管理面板

什麼是 Dockge?

Dockge 是由 Uptime Kuma 作者 Louis Lam 開發的開源 Docker Compose 管理工具。它的核心理念只有一句話:

What you see is what you have on disk.(所見即磁碟所有)

與 Portainer 把設定吸入資料庫不同,Dockge 直接將你的 compose.yaml 儲存在實體資料夾中(如 /opt/stacks/你的服務名稱/compose.yaml),讓你隨時可以用 CLI、Git、文字編輯器直接存取,不被任何工具「綁架」。


核心功能一覽

功能 說明
📁 文件系統透明 compose.yaml 儲存在本機磁碟,非資料庫黑盒
🔄 docker run 轉換器 一鍵將 docker run 指令轉換成 compose.yaml
⚡ 即時反應式 UI 日誌、狀態更新為毫秒級即時推送
🖥️ 內建 Web 終端 直接在瀏覽器中進入容器執行指令
🤝 GitOps 友善 /opt/stacks 目錄可直接推送 GitHub
🌐 多主機 Agent 模式 統一管理多台伺服器(v1.4 以後支援)

安裝前準備

環境需求:

  • 作業系統:Linux(Ubuntu / Debian / CentOS 等皆可)
  • 支援架構:amd64、arm64、armv7(含 Raspberry Pi)
  • 已安裝 DockerDocker Compose v2

確認 Docker 已安裝:

 
 
bash
docker --version
docker compose version

快速安裝(官方推薦方式)

方法一:自動下載 compose.yaml(最簡單)

 
 
bash
# 建立目錄
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# 下載官方 compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# 啟動 Dockge
docker compose up -d

啟動後,用瀏覽器開啟:http://你的伺服器IP:5001


方法二:手動建立 compose.yaml(可自訂)

 
 
bash
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
nano compose.yaml

貼上以下內容:

 
 
yaml
services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001          # 左邊是主機Port,可以改成你想要的
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock  # 讓 Dockge 管理 Docker
      - ./data:/app/data                            # Dockge 自身資料
      - /opt/stacks:/opt/stacks                    # 你的 Stack 目錄
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks

啟動:

 
 
bash
docker compose up -d

方法三:自訂 Port 與目錄(進階)

若你想用不同的 Port 或 Stack 目錄,可使用官方的設定產生器 URL:

 
 
bash
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# 自訂 port=8080,stacks 路徑=/home/user/stacks
curl "https://dockge.kuma.pet/compose.yaml?port=8080&stacksPath=/home/user/stacks" --output compose.yaml

docker compose up -d

首次設定

  1. 開啟瀏覽器,前往 http://伺服器IP:5001
  2. 建立管理員帳號與密碼
  3. 登入後,Dockge 會自動掃描 /opt/stacks 目錄下所有現有的 Compose 專案並納入管理

💡 零遷移成本:如果你已有現成的 Compose 專案,只要把資料夾複製到 /opt/stacks/ 下,例如 /opt/stacks/nginx/compose.yaml,重新整理頁面就會自動出現!


日常使用教學

建立新的 Stack

  1. 點選左側 「+ 新增 Stack」
  2. 輸入 Stack 名稱(例如:nginx
  3. 在 YAML 編輯器中撰寫你的 compose.yaml 內容
  4. 點選 「部署」 → Dockge 會在 /opt/stacks/nginx/compose.yaml 建立檔案並啟動服務

使用 docker run 轉換器

遇到網路上的 docker run 指令時:

  1. 點選介面上方的 「🔄 轉換 docker run」 按鈕
  2. 貼入指令,例如:
 
 
   docker run -d -p 8080:80 --name mynginx -v /data:/usr/share/nginx/html nginx:latest
  1. 點選 「轉換」,自動生成格式完整的 compose.yaml:
 
 
yaml
   services:
     mynginx:
       image: nginx:latest
       ports:
         - 8080:80
       volumes:
         - /data:/usr/share/nginx/html

進入容器終端

  1. 點選某個 Stack,展開其容器列表
  2. 點選容器右側的 「終端」 圖示
  3. 瀏覽器內直接彈出 Shell,可以執行任意指令(不需要 SSH)

即時查看日誌

點選容器旁的 「日誌」 圖示,即時串流顯示容器輸出,等同於執行 docker logs -f

更新容器映像

  1. 進入對應 Stack
  2. 點選 「Pull & Restart」(拉取最新映像並重啟)
  3. 進度條即時顯示下載狀態

多主機管理(Agent 模式)

Dockge v1.4 以後支援管理多台遠端伺服器。

在遠端主機安裝 Agent

在第二台伺服器上,同樣用 compose.yaml 部署 Dockge,但以 Agent 模式運行:

 
 
yaml
services:
  dockge-agent:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks

在主 Dockge 新增 Agent

  1. 在主控台點選 「Agents」
  2. 輸入遠端主機的 IP 位址與 Port(例如 192.168.1.100:5001
  3. 確認後,遠端主機的 Stack 就會出現在同一個面板中管理

搭配 Traefik 反向代理(進階)

若你想用域名 + HTTPS 存取 Dockge,可在 compose.yaml 加入 Traefik 標籤:

 
 
yaml
services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dockge.rule=Host(`dockge.yourdomain.com`)"
      - "traefik.http.routers.dockge.entrypoints=websecure"
      - "traefik.http.routers.dockge.tls.certresolver=letsencrypt"
      - "traefik.http.services.dockge.loadbalancer.server.port=5001"

⚠️ 注意:若透過 HTTPS 存取,請確保反向代理有支援 WebSocket,否則即時更新功能會失效。


資料夾結構說明

 
 
/opt/stacks/
├── nginx/
│   └── compose.yaml
├── nextcloud/
│   ├── compose.yaml
│   └── .env
├── uptime-kuma/
│   └── compose.yaml
/opt/dockge/
├── compose.yaml      ← Dockge 自身
└── data/             ← Dockge 帳號、設定等資料

每個 Stack 就是一個獨立資料夾,乾淨、直覺、可直接用 Git 管理。


更新 Dockge 本身

 
 
bash
cd /opt/dockge
docker compose pull
docker compose up -d

就這樣,沒有複雜的升級流程。


Dockge vs Portainer 快速比較

特性 Portainer Dockge
設定儲存 資料庫(黑盒) 本機檔案系統(白盒)
遷移難度 高(需匯出/匯入) 極低(複製資料夾即可)
資源佔用 較高 極低
RBAC 權限管理
GitOps 整合 有限 原生支援
適合場景 企業、K8s 叢集 Homelab、個人伺服器
介面美觀度 工業感 現代感 ⭐

常見問題

Q:我已有用 CLI 跑的 Compose,要怎麼讓 Dockge 接管?

把你的 compose.yaml 所在資料夾複製到 /opt/stacks/ 下,例如:

 
 
bash
cp -r ~/myapp /opt/stacks/myapp

重新整理 Dockge 頁面,服務就會自動出現。

Q:用 Dockge 建立的服務,CLI 還能用嗎?

完全可以!Dockge 不攔截任何東西,你在終端機跑 docker compose up -d,Dockge 介面會即時感知並更新狀態。

Q:Dockge 適合管理 Kubernetes 嗎?

不適合。Dockge 專注於 Docker Compose,若你需要管理 K8s,請使用 Rancher 或 Portainer Business。

Q:如何備份?

只需備份以下兩個目錄:

  • /opt/stacks/ — 所有服務的 compose.yaml(最重要)
  • /opt/dockge/data/ — Dockge 帳號設定

小結

Dockge 不是要取代所有 Docker 工具,它只是把「管理 Docker Compose」這件事做到極致。如果你:

  • 在經營 Homelab 或個人 VPS
  • 受夠了 Portainer 的複雜或資料庫黑盒
  • 想要 GUI 的便利、同時保留 CLI 的掌控感

那 Dockge 就是為你量身打造的工具。


專案地址: https://github.com/louislam/dockge
官方網站: https://dockge.kuma.pet

 

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料