Catatan
Ada beberapa alasan user menggunakan versi docker MongoDB antara lain karena kompatibilitas dengan OS dan kemudahan (biasanya digunakan untuk development stage )
How To
- Contoh compose file MongoDB
name: mongodb
services:
mongodb:
image: mongo:5.0
container_name: mongodb-ctr
logging:
driver: none
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: username
MONGO_INITDB_ROOT_PASSWORD: password
network_mode: host
volumes:
- mongodb-vol:/data/db
volumes:
mongodb-vol:
- Update dengan menambahkan dan menghapus beberapa line
name: mongodb
services:
mongodb:
image: mongo:5.0
container_name: mongodb-ctr
restart: always
# disable dulu untuk keperluan debug
# logging:
# driver: none
environment:
MONGO_INITDB_ROOT_USERNAME: username
MONGO_INITDB_ROOT_PASSWORD: password
command: mongod --config /etc/mongo/mongod.conf
network_mode: host
volumes:
- mongodb-vol:/data/db
- ./mongod.conf:/etc/mongo/mongod.conf
volumes:
mongodb-vol:
- Buat 1 file mongod.conf
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
verbosity: 1
Jalankan ulang
docker compose up -dlalu debug dengandocker logs -f mongodb-ctrDi kasus saya, muncul error “Unexpected mongo exit code 14”. Untuk lebih detail kita perlu masuk ke container
docker exec -it mongodb-ctr tail -f /var/log/mongodb/mongod.log, lebih jelas error nya
","attr":{"localEndpoint":"0.0.0.0:27017","error":"Too many open files"}}
{"t":{"$date":"2025-11-26T09:19:20.019+00:00"},"s":"I", "c":"NETWORK", "id":23018, "ctx":"listener","msg":"Error accepting new connection on local endpoint","attr":{"localEndpoint":"0.0.0.0:27017","error":"Too many open files"}}
{"t":{"$date":"2025-11-26T09:19:20.019+00:00"},"s":"I", "c":"NETWORK", "id":23018, "ctx":"listener","msg":"Error accepting new connection on local endpoint","attr":{"localEndpoint":"0.0.0.0:27017","error":"Too many open files"}}
- Untuk perbaikannya
2. Update dengan menambahkan dan menghapus beberapa line
```yaml
name: mongodb
services:
mongodb:
image: mongo:5.0
container_name: mongodb-ctr
restart: always
# disable dulu untuk keperluan debug
# logging:
# driver: none
environment:
MONGO_INITDB_ROOT_USERNAME: username
MONGO_INITDB_ROOT_PASSWORD: password
command: mongod --config /etc/mongo/mongod.conf
network_mode: host
volumes:
- mongodb-vol:/data/db
- ./mongod.conf:/etc/mongo/mongod.conf
ulimits:
nofile:
soft: 1000000
hard: 1000000
volumes:
mongodb-vol:
