What are the benefits of using Docker for persistent data


I'm new to the Docker world. We have already Dockerized our micro-services to increase scalability.

Now I'm looking into using Docker for databases. And I'm not sure if we should do that since it adds one level of complexity compared to running database server on a physical machine. What are the benefits of doing this?

If you use docker you stil run your database on a physical machine. Docker is not a VM. The benefits that you can get from it are e.g.

  • you have the installed version of your the software as a reusable image. So if you want to run that on a machine with docker you have no external dependencies and get exactly that version from your image.
  • You can use that image for development and and tests and then deploy it to your production system. You will have the same versions everywhere.
  • It's simple to run two different versions of your database software on the same machine.
  • If you already use docker to deploy your microservices it could reduce complexity to use docker to deploy all the software. Think about a scenario where you want to update your database software and you want to use a new feature of that version in your microservices.