Hướng dẫn dùng phần mềm Dbeaver truy cập data Docker

Các bài viết khác

Việc kết nối DBeaver tới một cơ sở dữ liệu (Database) đang chạy trong Docker container thực chất không khác biệt nhiều so với việc kết nối tới một Database thông thường. Điểm mấu chốt nằm ở việc ánh xạ cổng (port mapping) khi bạn khởi tạo Docker container.

Dưới đây là hướng dẫn chi tiết từng bước để bạn thực hiện.

dbeaver

Bước 1: Đảm bảo Container đã được ánh xạ cổng

Trước khi DBeaver có thể “nhìn thấy” Database trong Docker, container đó phải được ánh xạ cổng ra ngoài máy chủ (host).

  • Nếu bạn chạy qua lệnh docker run, hãy đảm bảo đã thêm tham số -p (ví dụ: -p 3306:3306). Số đầu là cổng trên máy của bạn, số sau là cổng mặc định của Database bên trong container.

  • Nếu bạn dùng docker-compose.yml, hãy kiểm tra mục ports:

    YAML

    services:
      db:
        image: mysql:latest
        ports:
          - "3306:3306" # Host:Container
    
  • Lưu ý: Nếu bạn chưa ánh xạ cổng, DBeaver sẽ không thể kết nối tới container dù nó đang chạy.

Bước 2: Chuẩn bị thông tin kết nối

Bạn cần nắm rõ 4 thông tin sau:

  1. Host: localhost hoặc 127.0.0.1 (vì bạn ánh xạ cổng ra máy host).

  2. Port: Cổng bên trái mà bạn đã khai báo trong cấu hình Docker (ví dụ: 3306).

  3. Username/Password: Các thông tin này thường được định nghĩa trong file docker-compose.yml hoặc biến môi trường (ENV) khi tạo container.

  4. Database name: Tên database bạn muốn truy cập (nếu có).

Bước 3: Thiết lập kết nối trên DBeaver

  1. Mở DBeaver: Nhấn vào biểu tượng “Tạo kết nối cơ sở dữ liệu mới” (biểu tượng phích cắm) ở góc trên bên trái.

  2. Chọn loại Database: Chọn hệ quản trị bạn đang dùng (MySQL, PostgreSQL, MariaDB, v.v.) và nhấn “Tiếp theo”.

  3. Nhập cấu hình:

    • Host: localhost

    • Port: Nhập port bạn đã ánh xạ (vd: 3306).

    • Database: Tên cơ sở dữ liệu của bạn.

    • Username: Tên người dùng.

    • Password: Mật khẩu tương ứng.

  4. Kiểm tra: Nhấn nút “Test Connection” để kiểm tra xem DBeaver đã kết nối được vào Docker chưa.

    • Nếu hiện thông báo “Connected”, bạn đã thành công. Nhấn “Finish”.

    • Nếu lỗi, hãy kiểm tra lại trạng thái container (docker ps) và cấu hình port.

Một số lưu ý quan trọng

  • Firewall: Đảm bảo tường lửa trên máy bạn không chặn cổng bạn vừa ánh xạ.

  • Quyền truy cập: Nếu bạn kết nối vào Database Production hoặc quan trọng, sau khi kết nối, bạn có thể chuột phải vào kết nối trong DBeaver -> Edit Connection -> chọn General -> tích vào “Read-only connection” để tránh xóa nhầm dữ liệu.

  • Kết nối qua Socket: Nếu Docker của bạn sử dụng cấu hình phức tạp với Volume gắn trực tiếp vào file socket, cách này có thể không áp dụng được. Trong hầu hết các trường hợp phát triển ứng dụng (development), phương pháp ánh xạ cổng TCP/IP nêu trên là chuẩn nhất.

Bạn có đang gặp khó khăn ở bước cụ thể nào hoặc nhận được thông báo lỗi nào khi thử kết nối không?

dbeaver

Hỗ trợ 💬