How to run MongoDB using docker compose with authentication
MongoDB is a non-relational document database with scalability and flexibility. Here we will explain how to run the MongoDB server using the docker-compose with authentication. Running MongoDB using the docker commands is quite complicated because needs to remember all the docker commands and parameters. Docker compose file makes it easier to run the MongoDB server using the compose file. version: '3.8'
services:
mongodb:
image: mongo:6-jammy
ports:
- '27017:27017'
volumes:
- datadrive:/data/db
restarts: always
volumes:
datadrive: In this example, we are using an office MongoDB image with the tag 6-jammy. In this, it runs MongoDB uses a docker-managed volume so that data for the database is kept even if the container restarts. Now run the docker using the below command docker compose up -d Enable MongoDB authentication By default, there is no authentication in MongoDB. It means connecting the MongoDB db server without any authentication. After running the container to inspect the docker container using docker exec -it mongodb bash Then run the mongosh command to connect the MongoDB server Create a user and role for MongoDB use admin
db.createUser(
{
user: "rootUser",
pwd: "root123",
roles: ["root"]
}
) Using the above command we create the admin user with a username rootuser and password root123 in the admin database. In the same way, you can create the user and role for your other databases like the below one. use demo
db.createUser(
{
user: "demoUser",
pwd: "demo123",
roles: [
{
role: "readWrite",
db: "demo"
}
]
}
); Now we are ready to enable the authentication on the MongoDB server. To enable the authentication --auth flag add as a command in the docker-compose file. After that recreate the docker container using docker-compose up -d the command again. version: '3.8'
services:
mongodb:
image: mongo:6-jammy
ports:
- '27017:27017'
volumes:
- datadrive:/data/db
command: [--auth]
restarts: always
volumes:
datadrive: Now your MongoDB server authentication has been enabled successfully, you can verify this using the below command docker exec -it mongodb bash
mongosh -u rootUser -p root123
The best laptops for Linux users in 2024
Based on the performance, battery life, and features we listed some of the best laptops in the market. Our pick for the best laptop overall is Dell XPS 15 in terms of performance. Check out the rest of the list below Dell XPS 15 Quick Specifications Pros Cons Lenovo ThinkPad Z13 Gen 2 Quick Specifications Pros Cons Microsoft Surface Laptop Studio 2 Quick Specifications Pros Cons MSI Stealth Studio Quick Specifications Pros Cons