| > Data persistence support is not out-of-the-box. This is actually not the case. Although containers do not share any persistent volumes with the host by default, you can use the --volume option[0] to do so. To answer your question, I've used Docker for local development to run MySQL, Postgres, and Redis inside of containers. Using the aforementioned --volume option, you can share the unix socket opened by either of these services from the container to the host. Otherwise, you can use the --port option[1] to share ports between the container and the host. I've had a generally pleasant experience using Docker for this use case and would recommend it. It's nice being able to start using a new service by pulling and running an image. Similarly, it's nice to have the ability to clear the state by removing the container, assuming you choose not to mount volumes between the container and the host. The only frustration I've run into is running out of disk because I have too many images, but it takes a while to get to that point and those can easily be deleted. [0] https://docs.docker.com/reference/run/#volume-shared-filesys...
[1] https://docs.docker.com/reference/run/#expose-incoming-ports |