1. Giới Thiệu
MongoDB là một trong những cơ sở dữ liệu NoSQL phổ biến nhất, được sử dụng rộng rãi trong các ứng dụng hiện đại. Sử dụng Docker giúp bạn triển khai MongoDB nhanh chóng, dễ dàng quản lý và mở rộng.
Trong bài viết này, chúng ta sẽ:
- Cài đặt MongoDB bằng Docker.
- Sử dụng Docker Compose để quản lý MongoDB.
- Mount dữ liệu để tránh mất dữ liệu khi container dừng.
- Kết nối với công cụ quản lý MongoDB (Mongo Express).
2. Cài Đặt MongoDB Với Docker
2.1. Chạy MongoDB Container
Bạn có thể chạy MongoDB chỉ với một lệnh Docker:
docker run -d --name mongodb -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=adminpass \
-v mongodb_data:/data/db \
mongo:latest
2.2. Kiểm Tra Container MongoDB
docker ps
Nếu MongoDB đang chạy, bạn sẽ thấy container hiển thị trong danh sách.
3. Sử Dụng Docker Compose Cho MongoDB
Để quản lý MongoDB dễ dàng hơn, sử dụng docker-compose.yml
:
version: '3.8'
services:
mongodb:
image: mongo:latest
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: adminpass
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
depends_on:
- mongodb
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: adminpass
ME_CONFIG_MONGODB_SERVER: mongodb
ports:
- "8081:8081"
volumes:
mongodb_data:
3.1. Chạy MongoDB Và Mongo Express
docker-compose up -d
Truy cập Mongo Express tại: http://localhost:8081
4. Kết Nối MongoDB Từ Ứng Dụng
Sử dụng MongoDB URI:
mongodb://admin:adminpass@localhost:27017/
Hoặc trong ứng dụng Node.js:
const mongoose = require('mongoose');
mongoose.connect('mongodb://admin:adminpass@localhost:27017/mydb', {
useNewUrlParser: true,
useUnifiedTopology: true
});
5. Kết Luận
- Cài đặt MongoDB dễ dàng với Docker.
- Docker Compose giúp quản lý MongoDB và Mongo Express thuận tiện.
- Mount dữ liệu để bảo vệ thông tin quan trọng.