4 ms·
Maybe this will help dispel some of the myth that Docker is useless for any scenario where you need persistent state. There are still many advantages to wrappin
by Ruphin 10y ago
Maybe this will help dispel some of the myth that Docker is useless for any scenario where you need persistent state. There are still many advantages to wrapping your database in a container, and this post by Uber explains really well how and when to use this technique.
We have been running our databases using this same methodology for almost two years now, including automatic initialization for new clusters, auto-configuration of master-slave and federation setup, and automatic failover/recovery. It doesn't solve all the problems, and we still need to manually solve issues (mostly because we use MongoDB and ran into several bugs and 'features' over the years), but for standard operational work it saves a ton of work. Expanding our cluster by adding a new replicated shard is no more than 2 minutes of work in changing the master config, everything else is fully automated.
- memracom 10y agoIf you would use something like Ansible it would be just as fast because it is fully automated, and there would be no work at all to change a config because Ansible will also customize config files from templates. Chef and Puppet and SaltStack work similarly, just learn how to use your tool of choice.
- UK-AL 10y agoAnd for a lot of people the tools of choice is docker...
- toomuchtodo 10y agoPicking the wrong tool because its easier never really scales. Docker is not configuration management. Configuration management is not containerization. Disclaimer: DevOps by day. I care because it makes it easier for me (and cheaper for you) to come in and scale things if it was done right in the beginning (instead of me having to revamp your infrastructure to move components to the right tools), but either way I get paid, so it doesn't matter much to me. I'm just trying to help make your life easier.
- UK-AL 10y agoMost configuration management tools are used for managing docker on machines. I don't see them used much for setting up whats inside them. Plus they don't match the convenience of just pulling down an image identical to production for developers(very important). I also don't want to be using puppet on dev machines. Configuration management tools also take longer to run all scripts then just pulling down an image.
- toomuchtodo 10y ago> I also don't want to be using puppet on dev machines. Configuration management tools also take longer to run all scripts then just pulling down an image. Which is why you should be provisioning with Vagrant locally to properly replicate production.
- user5994461 10y ago> Maybe this will help dispel some of the myth that Docker is useless for any scenario where you need persistent state. Docker is useless for what is not stateless. You can run database in Docker... until the assumptions of Docker will come back to bite you. > There are still many advantages to wrapping your database in a container, and this post by Uber explains really well how and when to use this technique. Well. Run databases in Docker if you've got 3000 clusters and your only concern [that you created yourself] is to run multiple of them on the same hosts.
- deleted 10y ago[deleted]