How to Run MongoDB as a Docker Container in Development

In this article, we will see how to run mongodb as a docker container in development.

As a developer, we all know how frustrating it is to setup a database and start it in development environment everyday.

Well, i have also been in the situation unless docker came into play.

As we all know, Docker solves the problem of "it is working on my machine" problem.

Let's see how to setup mongodb once and run it without any problem in development environment.

If you are completely new to the concepts of docker, i recommend you to read this article series to get better idea.

If you are already familiar with docker, but want to learn how to setup docker and nodejs. read this article to learn about it.

Docker Setup

Before running the docker commands, i assume that you have docker installed on your machine, if not, you can install and complete the setup first.

MongoDB as Docker Container

To run mongoDB in docker, you need the mongodb image in your local docker daemon. you can get the image using the command,

1docker pull mongo

the above command will pull the mongodb image from docker registry.

Screenshot 2019 11 25 at 11 16 50 PM

Once, you pull the mongoDB image from docker image registry, you can run the image with a single command.

1docker run -d -p 27017:27017 --name mongodb mongo -v /data/db:/data/db

that's it..

really..... you can now start using mongoDB in your application.

So simple..right?.

Now, we will try to understand what is going on under the hood and what does it really do

mongodb docker

Here, i have separated the command into four parts to understand it in a better way.

Part1

Here, we are running the docker container with a detached mode. there are two mode to run docker container. one is detached and another one is interactive mode.

detached mode will run in background whereas interactive mode runs in the foreground(terminal will be active).

Problem with interactive mode is if you close the terminal, container will stop running.

Part 2

Here, -p represents the port of the container. you can map the port of the container and your machine port to communicate with the container.

As MongoDB always run in port 27017, we map the ports here.

Part 3

After that, we added flag --name which represents the docker container name. you can specify the name you want to have it for your mongoDB container.

Part 4

Lastly, we mount the volume of docker container and local machine volume. This is one of the important commands in the whole part.

-v /data/db:/data/db mount the volume of docker container db directory and local machine db directory.

so that, you won't lose your database data even after restarting the container.

Summary

To sum up, this simple step on running the mongoDB local development on docker can save you lot of time on development. i recommend you to use this on your development process.

Author

Hey, I’m Ganesh, Full stack engineer.I love to write technical content and help developers like me to grow in the industry. please consider supporting me.

To Read More

Building a Production-grade Nodejs,...

This article is the first part of building a production grade nodejs,graphql and...

Modern React Redux Tutorials with R...

This tutorial explain how you can build an application using modern react redux ...

Building a Piano with React Hooks

In this article, we will see how to build a piano with react hooks. Building a P...

TypeScript Basics - The Definitive ...

In this article, we will learn some basics of typescript which helps you to deve...

Here's why podman is more secured t...

In this article we will see about podman and why it is more secured way to run c...

Building a Production - Ready Node....

In this article, we will see how to build a Nodejs, TypeScript Application and d...

Nginx for Front-end Developers

This article is to explain Nginx for Front-end Developers in a much simpler way....

What is gRPC ? How to implement gRP...

Everyone talks about gRPC. Have you ever wonder how it works or how to implement...