將 x11vnc 與 noVNC 整合在一起

下面是一個簡單的 Docker Compose 範例,將 x11vncnoVNC 整合在一起,讓你可以透過瀏覽器直接存取 VNC 桌面環境。這個範例假設你要跑一個基本的 X11 桌面環境並透過 noVNC 提供 Web 介面:

version: "3.8"
services:
  x11vnc:
    image: dorowu/ubuntu-desktop-lxde-vnc
    container_name: x11vnc
    ports:
      - "5900:5900"   # VNC port
      - "6080:80"     # noVNC web port
    environment:
      - VNC_PASSWORD=yourpassword   # 設定 VNC 密碼
    restart: unless-stopped

說明:

  • 這裡使用了 dorowu/ubuntu-desktop-lxde-vnc 映像,它已經整合了 x11vnc + noVNC,所以只要一個 container 就能提供完整功能。
  • 5900 是傳統 VNC port,如果你要用 VNC client 連線。
  • 6080 對應到 noVNC 的 Web UI,打開瀏覽器輸入 http://localhost:6080 就能直接操作桌面。
  • VNC_PASSWORD 用來設定登入密碼。

如果你想要更「模組化」的方式,把 x11vncnoVNC 分成兩個服務,可以這樣寫:

version: "3.8"
services:
  x11vnc:
    image: x11vnc/x11vnc
    container_name: x11vnc
    environment:
      - DISPLAY=:0
    ports:
      - "5900:5900"
    restart: unless-stopped
  novnc:
    image: novnc/novnc
    container_name: novnc
    environment:
      - VNC_SERVER=x11vnc:5900
    ports:
      - "6080:6080"
    depends_on:
      - x11vnc
    restart: unless-stopped

差異:

  • 第一個範例是「一站式」映像,快速上手。
  • 第二個範例是「分離式」,更適合需要自訂或替換組件的情境。

這裡幫你整理了一個 「一站式 vs 分離式」Docker Compose 架構比較表,方便你依需求選擇:

架構方式 特點 優點 缺點 適合情境
一站式 (單容器) 使用整合映像(如 dorowu/ubuntu-desktop-lxde-vnc),同時提供 x11vnc + noVNC - 部署快速,設定簡單
- 一個容器即可完成
- 適合測試或快速上手
- 彈性較低
- 不易替換或升級單一組件
- 映像體積較大
- 個人測試環境
- Demo 或教學用
- 想快速有結果
分離式 (多容器) 將 x11vnc 與 noVNC 分開成兩個服務,透過 Compose 串接 - 模組化設計
- 可獨立升級或替換組件
- 更容易調整配置(如不同 VNC server 或 Web 前端)
- 部署稍微複雜
- 需要額外設定環境變數與網路
- 初學者可能較難上手
- 團隊環境
- 需要長期維護
- 想要高度自訂或擴展

💡 建議選擇方式:

  • 如果你只是要快速測試或臨時用 → 一站式
  • 如果你要長期維護、需要靈活調整 → 分離式

Also See

File9FileLast Modified
連線到 Asustor Linux Center 建立的 Debian Desktop 12連線到 Asustor Linux Center 建立的 Debian Desktop 122:24 PM - January 12, 2026
透過 systemd service管理 VNC server透過 systemd service管理 VNC server2:24 PM - January 12, 2026
ZFS 檔案系統簡介ZFS 檔案系統簡介2:24 PM - January 12, 2026
VNCSever debugVNCSever debug2:24 PM - January 12, 2026
VNC viewer via SSH tunnel connectionVNC viewer via SSH tunnel connection2:24 PM - January 12, 2026
UntitledUntitled2:24 PM - January 12, 2026
LXDE 一個輕量級的桌面環境LXDE 一個輕量級的桌面環境2:24 PM - January 12, 2026
Asustor NAS Linux CenterAsustor NAS Linux Center2:24 PM - January 12, 2026
AS6508T 上使用 UbuntuAS6508T 上使用 Ubuntu2:24 PM - January 12, 2026