Flocker is an open-source Container Data Volume Manager for your Dockerized applications.
By providing tools for data migrations, Flocker gives ops teams the tools they need to run containerized stateful services like databases in production.
Unlike a Docker data volume which is tied to a single server, a Flocker data volume, called a dataset, is portable and can be used with any container, no matter where that container is running.
Flocker manages Docker containers and data volumes together. When you use Flocker to manage your stateful microservice, your volumes will follow your containers when they move between different hosts in your cluster.
You can also use Flocker to manage only your volumes, while continuing to manage your containers however you choose.
Flocker is being developed by ClusterHQ. We are a small team of engineers with experience running distributed systems and many of us are core contributors to the Twisted project.
This project is under active development; version 1.0 was released on June 17th, 2015. Contributions are welcome. If you have any issues or feedback, you can talk to us. We're looking forward to working on this project with you.
You can read more about installing Flocker, follow a tutorial and learn about the features of Flocker and its architecture in the Flocker docs.
If you have any feature requests or suggestions, we would love to hear about them. Please send us your ideas by filing a GitHub issue.
Flocker's test suite is based on unittest and Twisted Trial.
The preferred way to run the test suite is using the command trial flocker
.
Flocker also includes a tox configuration to run the test suite in multiple environments and to run additional checks
(such as flake8) and build the documentation with Sphinx.
You can run all of the tox environments using the command tox
.
Flocker is also tested using continuous integration.