Recently for a project I needed to setup a local mongodb instance using docker (via docker-compose). I set up this simple compose file:
version: "3.1"
services:
mongo:
container_name: node-auth-mongo
image: mongo:4.4.20-rc0-focal
environment:
MONGO_INITDB_DATABASE: authdb
MONGO_INITDB_ROOT_USERNAME: mongo-admin
MONGO_INITDB_ROOT_PASSWORD: admin-password
ports:
- "27017:27017"
Mongo stores the login credentials in a database named admin so we would need to specify that too (as authSource) when connecting to it:
MONGO_URL=mongodb://mongo-admin:admin-password@localhost:27017/authdb?retryWrites=true&w=majority&authSource=admin
Thanks to Hans Kilian over on StockOverflow.