ใช้งาน MongoDB บน Docker
Docker by Keptcode.com
Repo: Github.com (รบกวนกด Start ให้ด้วยนะคับ)
โครงสร้างโฟลเดอร์
Path: [skeleton]
Language: Project Structure
├── backup/
├── data/
│ └── mongodb_01/
└── docker-compose.yml
สร้างไฟล์: รัน Container บน Docker Engine เบื้องต้น
Path: [skeleton]\docker-compose.yml
Language: Docker Engine
services:
database_mongodb_01:
image: mongo:7.0.14
container_name: database-mongodb-01
platform: linux/arm64/v8
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=superadmin
- MONGO_INITDB_ROOT_PASSWORD=123456
- VIRTUAL_PORT=27017
- TERM=xterm
- AUTH=yes
volumes:
- ./backup:/backup
- ./data/mongodb_01:/data/db
ports:
- "27017:27017"
networks:
- database_mongodb_network
command: mongod --auth
networks:
database_mongodb_network:
driver: bridge
ไฟล์: docker-compose.yml
รัน: คำสั่ง Docker เพื่อสร้าง Container ที่ต้องการ
Path: [skeleton]
Language: Bash
docker compose up -d
รีโมท: เข้าใช้งาน MongoDB บน Container
Path: [skeleton]
Language: Bash
docker exec -it database-mongodb-01 mongosh -u "superadmin" -p "123456" --authenticationDatabase "admin"
Create: Super Administrator
Path: [skeleton]
Language: Bash
# เลือก Database ที่ต้องการ ?
use db_mongodb_01
# สร้าง Super Administrator ใหม่
db.createUser({
user: "admin_db_mongodb_01",
pwd: "EX2a9q14g038cLrioLzQd",
roles: [{
role: "userAdminAnyDatabase",
db: "admin"
}]
})
# เพิ่ม Super Administrator ใหม่
db.auth("admin_db_mongodb_01", "EX2a9q14g038cLrioLzQd")
# แสดง Users ทั้งหมด
show users
## Output ##
# [
# {
# id: 'db_mongodb_01.admin_db_mongodb_01',
# userId: UUID('1c36d468-8f14-46e3-9c2b-9c243cc87944'),
# user: 'admin_db_mongodb_01',
# db: 'db_mongodb_01',
# roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ],
# mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
# }
# ]
สำหรับเชื่อมต่อ Database
- host: 127.0.0.1
- port: 27017
- username: admin_db_mongodb_01
- password: EX2a9q14g038cLrioLzQd
- Database Name: db_mongodb_01
Connection String (URI Format)
Path: [skeleton]
Language: Bash
# Connection String
mongodb://admin_db_mongodb_01:EX2a9q14g038cLrioLzQd@127.0.0.1:27017/db_mongodb_01?authSource=db_mongodb_01
## Example ##
# host: 127.0.0.1
# port: 27017
# user: admin_db_mongodb_01
# pass: EX2a9q14g038cLrioLzQd
# dbName: db_mongodb_01