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.

Gần đây mình đã phát hiện ra Dockge – ứng dụng Docker Manager tương tự như Portainer nhưng đã được tối ưu và đơn giản hóa, phù hợp cho các tín đồ self-hosting, và cảm thấy nó rất phù hợp với nhu cầu sử dụng. Dockge là sự thay thế hoàn hảo cho Portainer để quản lý Docker.

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.yamlCode language: Nginx (nginx)

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
Code language: YAML (yaml)

Kích hoạt Dockge

docker compose up -dCode language: Nginx (nginx)

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!

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *


4 Comments

  1. Mình có thử nhưng sao nó cũng chỉ quản lý được các stack của nó tạo chứ k quản lý chỉnh sửa docker compose file từ chỗ khác nhỉ. Cũng không hỗ trợ backup & restore luôn

    1. Trong bài có ghi là Dockge chỉ hỗ trợ quản lý stack trong thư mục Stack của nó mà bạn. Nằm chỗ khác nó không có quyền truy cập thì sao quản lý được.

      Dockge không có tính năng backup & restore nha.

      1. Mình đang thấy vấn đề nữa là Dockge không có phần quản lý docker image, mỗi cái cũng mấy trăm mb á. Để lâu nó chiếm bộ nhớ của máy. Mong bạn chia sẻ cách quản lý. Mình cũng rất thích phương án quản lý tất cả docker trên nhiều server cùng 1 giao diện như này. Portainer thì nó nặng quá, mỗi lần deploy fail xem log cũng k tối ưu

        1. Dockge có tích hợp sẵn Console. Lâu lâu vô gõ lệnh docker system prune -a cho nó xóa rác là được nha.
          Edit: À, mình mới phát hiện ra nó không cho phép chạy lệnh prune để xóa rác trên Dockge. Cái này chắc phải đợi các bản cập nhật sau, hy vọng nó bổ sung thêm tính năng.