Sometimes managing my development environment would be a time consuming as there is so many things to setup. Lets take databases for example. There is so many databases I can try like MongoDB, MySQL, Cassandra, Postgre, Couchbase and Redis. What if I am interested to try out all of those databases. I will probably ended up installed those databases with so many configurations to deal with. To simplify things I use Docker.
Instead of installing the database directly into my host, I can just pull the database images hosted on Docker Hub and run it as a docker containers.
If you guys interested to use Docker, I suggest you to read more about it start from here: Understand the architecture.