If there’s one area where Docker container tooling remains weak, it’s the realm of persistent storage. Here’s why storage solutions for containers continue to come up short, and a look at the work being done to make them better.
The Origins of Docker Storage: Data Volumes
To understand why persistent storage for containers remains a challenge, it’s worth briefly surveying the history.
For Docker, persistent storage was an afterthought. Docker containers were originally designed to host only stateless applications that did not require persistent storage. That’s why an individual container was not able to store data permanently.
Eventually, Docker introduced data volumes, which make it possible to map file systems inside a container to a persistent storage directory on a host server. Data volumes were a major step forward, but orchestrating them can be tricky. They are also subject to security issues.
Third-Party Storage Solutions
Meanwhile, third-party vendors over the past few years have attempted to build persistent storage solutions of their own for Docker.
ClusterHQ was one. It shut down late last year. The startup’s failure arguably had much to do with finances and economic realities, not its storage system, Flocker, which lives on as an open-source project.
Torus, a scale-out storage system from CoreOS that is designed for containerized infrastructure, represented another major attempt at the persistent-storage issue. Torus launched in June 2016 but development has been quiet since. It’s not clear when or if Torus will be ready for prime time.
Probably the most successful container storage company to date is Portworx, which very recently announced that it had raised another $20 million in funding. That’s good if you measure success in financial terms. But while Portworx seems to have a viable product, it’s too early to know whether it will solve everyone’s persistent storage worries.
The Future of Persistent Storage for Containers
When it comes to delivering persistent storage for Docker, then, it has been a rough ride. The core storage solution available from Docker arguably remains weak. Third-party solutions with a commercial bent have been largely stagnant or turned out to fail.
DevOps teams unhappy with the current state of container storage can take solace in the persistence of projects like Flocker and the storage platforms from companies like Portworx. But it’s clear that storage is one part of the container world that remains weak overall. More innovation is welcome.