version: '3.1'
services:
web:
build: .
restart: always
ports:
- 8080:80
environment:
MONGODB_HOST: mongodb
MONGODB_USER: root
MONGODB_PWD: 123456
depends_on:
- mongodb
mongodb:
image: mongo:4.1
restart: on-failure
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 123456
volumes:
- ./data/mongo:/data/db
- ./data/mongo-entrypoint/:/docker-entrypoint-initdb.d/
Copy following script and paste into the file: ./data/mongo-entrypoint/docker-entrypoint-initdb.sh
#!/usr/bin/env bash
echo "Creating mongo users..."
mongo admin --host localhost -u root -p 123456 --eval "db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});"
mongo admin -u root -p 123456 << EOF
use web
db.createUser({user: 'root', pwd: '123456', roles:[{role:'readWrite',db:'web'}]})
db.createCollection('test')
EOF
echo "Mongo users created."
** Remember to modify the passwords above. **