Docker Tutorial

23. Docker MongoDB | Run and Configure MongoDB in Docker

Docker – Setting MongoDB

Docker allows you to run MongoDB in isolated containers, making it easy to set up a database environment that is consistent across development, testing, and production.

Running a MongoDB Container

You can run MongoDB using the official Docker image. Map ports and attach volumes to persist data outside the container.


# Run MongoDB container
docker run -d -p 27017:27017 --name my-mongo mongo:6

# Access MongoDB shell inside the container
docker exec -it my-mongo mongo

Persisting MongoDB Data

Use Docker volumes to ensure that your MongoDB data persists even if the container is removed.


# Create a Docker volume
docker volume create mongo-data

# Run MongoDB container with volume
docker run -d -p 27017:27017 -v mongo-data:/data/db --name my-mongo mongo:6

Connecting Applications to MongoDB

Applications can connect to the MongoDB container using the mapped host port or container networking.


# Example Node.js connection string
mongodb://localhost:27017/mydatabase

Using Docker Compose for MongoDB


version: '3'
services:
  mongo:
    image: mongo:6
    ports:
      - "27017:27017"
    volumes:
      - mongo-data:/data/db

volumes:
  mongo-data:

Best Practices for MongoDB in Docker

  • Use named volumes for data persistence.
  • Secure MongoDB with authentication and environment variables.
  • Keep MongoDB containers isolated using networks.
  • Regularly back up volumes to prevent data loss.
  • Monitor container logs and resource usage for reliability.

Conclusion

Running MongoDB in Docker simplifies database setup and ensures consistency across environments. Using volumes, networks, and best practices, you can manage MongoDB securely and efficiently for development and production applications.

Leave a Reply

Your email address will not be published. Required fields are marked *