MongoDB is a cross-platform document database. It is classified as a NoSQL database. Instead of using tables and rows as in the relational databases such as MySQL, MongoDB uses JSON-like documents. MongoDB is an open-source project available under the Server Side Public License (SSPL).
This tutorial explains how to install MongoDB inside a Docker container in the Linux. Commands have been tested on Ubuntu.
Prepare environment
Make sure you have installed Docker in your system. If you are using Ubuntu, installation instructions can be found in the post.
Install MongoDB
- Host network
Run the following command to create a container for MongoDB that uses host network:
docker run -d --name=mongodb --restart=always --network=host \
-v /opt/mongodb/db:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=pwd123 \
mongo
- User-defined bridge network
User-defined bridge network can be used for listening on different port. By default, MongoDB service is listening on port 27017. It can be changed with -p
option.
docker network create app-net
docker run -d --name=mongodb --restart=always --network=app-net \
-p 8080:27017 \
-v /opt/mongodb/db:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=pwd123 \
mongo
Note: don't forget to change admin password.
Testing MongoDB
Run the following command to open the MongoDB Shell (mongosh
) and enter password:
docker exec -it mongodb mongosh -u admin --eval "show dbs"
The command displays all databases on MongoDB server:
Current Mongosh Log ID: 63831f5e6c16ad60ccf672f1
...
admin 100.00 KiB
config 12.00 KiB
local 40.00 KiB
Uninstall MongoDB
To completely remove MongoDB, remove its container and associated volume:
docker rm --force --volumes mongodb
Remove MongoDB image:
docker rmi mongo
You can also remove MongoDB data:
sudo rm -rf /opt/mongodb
If a user-defined bridge network was created, you can delete it as follows:
docker network rm app-net
Leave a Comment
Cancel reply