Chuyên mục
Docker Virtualization

Dockge – Ứng dụng quản lý Docker phù hợp cho homelab

Trong những bài viết đầu tiên về Docker và Docker Compose trên blog, mình đã từng giới thiệu về Portainer – ứng dụng quản lý Docker trực quan, hiệu quả, phù hợp cho các bạn mới.

Tuy nhiên, trên thực tế, mình chẳng bao giờ dùng Portainer để quản lý Docker. Có 3 lý do chính:

  • Mình thích dùng command line để thao tác với Docker, cảm thấy nhanh hơn so với khi dùng GUI.
  • Đôi khi muốn dùng giao diện của Portainer để tiện việc theo dõi thông số, cập nhật container. Nhưng Portainer lại không hỗ trợ quản lý các ứng dụng được cài đặt thông qua Docker Compose bằng dòng lệnh. Nó chỉ hỗ trợ các ứng dụng cài đặt thông qua tính năng Stack Management có sẵn.
  • Portainer có quá nhiều tính năng không cần thiết với nhu cầu cá nhân, khiến giao diện trở nên rối rắm, khó điều hướng.

I. Giới thiệu Dockge

Dockge là một ứng dụng quản lý Docker thông qua giao diện web trực quan, dễ sử dụng, dễ cài đặt. Nó được phát triển bởi tác giả louislam, người đã tạo ra Uptime Kuma – ứng dụng miễn phí giúp giám sát trạng thái hoạt động website rất nổi tiếng.

Tính năng của Dockge

  • Hỗ trợ quản lý compose.yaml
    • Tạo / Sửa / Kích hoạt / Tạm dừng / Khởi động lại / Xóa
    • Cập nhật Docker iamge
  • Trình soạn thảo cho file compose.yaml
  • Tích hợp Web Terminal để gõ lệnh command line
  • Hỗ trợ Dockge Agents – Cài đặt Dockge trên nhiều máy chủ và có thể quản lý tất cả trên 1 giao diện duy nhất.
  • Chuyển đổi câu lệnh docker run ... thành compose.yaml
  • File compose.yml tạo bởi Dockge được lưu ở thư mục chỉ định. Có thể dùng lệnh docker compose để quản lý bằng command line
  • Giao diện trực quan, dễ sử dụng, phản hồi trực tiếp

II. Yêu cầu chuẩn bị

Để thực hiện theo thao tác trong bài, bạn cần chuẩn bị hệ thống như sau:

  • VPS cài đặt hệ điều hành Linux: CentOS / Debian 11 trở lên / Ubuntu
  • VPS đã được cài đặt Docker và Docker Compose. Xem hướng dẫn ở đây.

III. Cài đặt Dockge

Cài đặt Dockge bằng lệnh sau

# Create directories that store your stacks and stores Dockge's stack
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
# Download the compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

Với thiết lập này, tất cả các ứng dụng Docker Compose bạn tạo với Dockge sẽ được lưu trong thư mục /opt/stacks

Nếu trên hệ thống đã có sẵn các ứng dụng Docker Compose đang hoạt động, bạn nên cập nhật lại file compose.yml của Dockge, sửa lại thông số của DOCKGE_STACK_DIR. Ví dụ: mình thường lưu các thư mục Docker Compose ở /home nên cần sửa lại dòng 15 và 18 như bên dưới.

version: "3.8"
services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      # Stacks Directory  
      # READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.  
      # 1. FULL path only. No relative path (MUST)  
      # 2. Left Stacks Path === Right Stacks Path (MUST)      
      - /home:/home
    environment:
      # Tell Dockge where to find the stacks
      - DOCKGE_STACKS_DIR=/home

Kích hoạt Dockge

docker compose up -d

Truy cập Dockge qua địa chỉ http://IP:5001

IV. Thiết lập và quản lý ứng dụng trên Dockge

Ở lần truy cập đầu tiên, bạn cần tạo tài khoản admin

Bấm vào nút + Compose để tạo ứng dụng mới. Sau đó nhập thông tin:

  1. Stack Name: tên của ứng dụng, nó cũng sẽ là tên của thư mục chứa file compose.yml
  2. Nhập vào nội dung file Docker Compose vào ô số 2
  3. Bấm Deploy để kích hoạt

Ví dụ ở đây mình tạo ứng dụng Memos để viết ghi chú.

Sau khi Dockge hoàn thành việc kích hoạt ứng dụng mới, bạn có thể bấm vào số port để truy cập vào ứng dụng.

Thanh công cụ ở trên có các nút để bạn quản lý ứng dụng vừa tạo:

  • Edit: chỉnh sửa file compose.yml
  • Restart: khởi động lại
  • Update: cập nhật lên phiên bản mới nhất
  • Stop: tạm ngừng (tương ứng với lệnh docker compose stop)
  • Stop & Reactive: tắt (tương ứng với lệnh docker compose down)
  • Delete: xóa ứng dụng

V. Sử dụng Console

Dockge được tích hợp sẵn Web Terminal để quản lý Docker bằng dòng lệnh. Bấm vào nút Console ở góc trên bên phải để truy cập vào Console. Bạn có thể gõ lệnh vào khu vực Console hiện ra bên dưới.

Bạn cũng có thể truy cập vào Terminal của từng container bằng cách bấm vào nút >_Bash

Sau đó có thể gõ lệnh bình thường như khi thao tác trực tiếp bằng SSH.

VI. Kết nối Agents

Chúng ta có thể cài đặt Dockge trên nhiều máy chủ. Sau đó sử dụng tính năng Dockge Agents để kết nối và quản lý Docker của nhiều máy chủ trên 1 giao diện duy nhất.

Bấm vào nút Add Agent để kết nối tới máy chủ khác đã được cài Dockge.

Nhập vào URL máy chủ, username và password tương ứng. Bấm Connect để kết nối

Sau khi kết nối thành công, ở menu bên trái sẽ hiện ra thêm các ứng dụng đang hoạt động trên máy chủ vừa kết nối vào giao diện Dockge chính.

Khi tạo ứng dụng mới, bạn có thể tùy chọn lưu ứng dụng trên máy chủ đang chạy Dockge hay máy chủ được kết nối thông qua Agent.


Dockge nhanh chóng trở thành công cụ quản lý Docker yêu thích của mình. Nó vừa hỗ trợ thao tác trực quan qua GUI, vừa hỗ trợ thao tác bằng dòng lệnh, tiện cả đôi đường. Đặc biệt, tính năng Dockge Agents thật sự quá hữu ích để quản lý nhiều server cùng lúc, giúp tiết kiệm thời gian hơn hẳn so với việc phải truy cập vào từng server như trước đây.

Chúc bạn cài đặt thành công!