Catatan

Ada beberapa alasan user menggunakan versi docker MongoDB antara lain karena kompatibilitas dengan OS dan kemudahan (biasanya digunakan untuk development stage )


How To

  1. 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:
  1. 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:
  1. Buat 1 file mongod.conf
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
  verbosity: 1
  1. Jalankan ulang docker compose up -d lalu debug dengan docker logs -f mongodb-ctr

  2. Di 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"}}
  1. 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: