Giới Thiệu
Một trong những cơ sở dữ liệu NoSQL dễ tiếp cận nhất, MongoDB®, có nhiều tùy chọn triển khai. Trong bài viết này, tôi sử dụng Docker® để triển khai MongoDB như một container và sử dụng shell client để tương tác với container đó.
Sau khi cài đặt Docker trên máy tính hoặc máy chủ của bạn, thực hiện các bước sau để triển khai MongoDB như một Docker container:
- Tải xuống Docker image MongoDB mới nhất hoặc phiên bản cụ thể.
- Triển khai một instance của MongoDB như một container.
- Tương tác với MongoDB Docker container bằng các thao tác shell cơ bản.
Tải Xuống Docker Image MongoDB
Nếu bạn đã cài đặt Docker trên máy tính hoặc máy chủ, bạn có thể lấy MongoDB image từ Docker Hub container registry. Hãy chắc chắn tải xuống phiên bản image cụ thể mà bạn dự định sử dụng, chẳng hạn như mongo:4.0.4. Bạn không bắt buộc phải chỉ định phiên bản image, nhưng nếu bỏ qua, bạn sẽ nhận được phiên bản mới nhất, có thể dẫn đến trải nghiệm không nhất quán vì Mongo có thể cập nhật phiên bản latest bất kỳ lúc nào.
Thực thi lệnh docker images cho danh sách các image có sẵn trên máy chủ. Trong trường hợp của chúng tôi, nó hiển thị MongoDB image với tag 4.0.4 sẵn sàng sử dụng.
Sử dụng các lệnh sau để tải xuống MongoDB image và liệt kê các image có sẵn:
# docker pull mongo:4.0.4
# docker images
Triển Khai Instance MongoDB Như Một Container
Khởi động container ở chế độ detached, -d. Vì container sử dụng lưu trữ phù du, bạn nên mount một volume, -v, để giữ dữ liệu bằng cách cung cấp đường dẫn cục bộ, /data/db. Đây là thư mục nội bộ của container. Hành động này bảo toàn dữ liệu trên đường dẫn /data/db của host ngay cả khi bạn dừng hoặc xóa container. Trong lệnh, bạn cung cấp một tên, --name, cho container của bạn tiếp theo là Docker image và một tag. Trong trường hợp này, tôi dùng mongo:4.0.4 cho tag. Lệnh trả về chuỗi với ID của container. Lệnh docker ps hiển thị danh sách các container đang chạy.
# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4
# docker ps
Tương Tác Với MongoDB Docker Container Bằng Shell
Để tận dụng triển khai MongoDB chức năng, bạn có thể tương tác với cơ sở dữ liệu bằng shell client.
Vì bạn đang chạy container ở chế độ detached, bạn nên kết nối bằng terminal tương tác. Sử dụng lệnh sau để kết nối với triển khai của bạn, tên mymongo, và khởi động bash shell:
# docker exec -it mymongo bash
Để khởi động MongoDB shell client, chạy lệnh sau:
# mongo
Từ MongoDB shell client, bạn có thể truy cập tất cả các chức năng được nêu trong tài liệu MongoDB. Ví dụ, bạn có thể xem cơ sở dữ liệu nào tồn tại trong instance của mình với lệnh sau:
> show dbs
Kết Luận
Trong bài viết này, tôi tạo một MongoDB container bằng Docker với volume lưu trữ gắn từ hệ thống host vào container. Tôi cũng chỉ cho bạn cách bắt đầu tương tác với MongoDB Docker container thông qua shell. Bài viết cung cấp minh họa cơ bản về chạy một instance MongoDB trong Docker container, nhưng bạn có thể sử dụng cùng MongoDB image để xây dựng bất kỳ số lượng container nào. Sử dụng các container đó để tạo replica sets và làm nhiều hơn nữa để tạo ứng dụng container hóa mạnh mẽ.
Tôi hy vọng bài viết này giúp bạn hiểu tổng quan về cách đưa một instance MongoDB lên và chạy và bắt đầu làm việc với nó trong vài phút.