Best-practice configuration for MongoDB with docker-compose
Create /var/lib/mongodb/docker-compose.yml
:
services:
mongo:
image: mongo
volumes:
- ./mongodb_data:/data/db
ports:
- 27017:27017
This will store the MongoDB data in /var/lib/mongodb/data
. I prefer this variant to using docker volumes since this method keeps all MongoDB-related data in the same directory.
Then create a systemd
service using
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin
See our post on how to Create a systemd service for your docker-compose project in 10 seconds for more details on this method.
You can access MongoDB at localhost:27017
! It will autostart after boot
Restart by
sudo systemctl restart mongodb
Stop by
sudo systemctl stop mongodb
View logs:
sudo journalctl -xfu mongodb
View logs in less
:
sudo journalctl -xu mongodb