CoreOS, the lightweight Linux distro based around Linux containers and Docker, will develop its own application container tech to compete against Docker.
On Monday, CoreOS unveiled a prototype version of Rocket, a command-line tool for working with App Container, the company's home-brewed container image format, runtime, and discovery mechanism.
"We still believe in the original premise of containers that Docker introduced, so we are doing something about it," CoreOS CEO Alex Polvi wrote in a blog post. "While we are at it, we are cleaning up and fixing a few things that we'd like to see in a production ready container."
According to Polvi, development of Docker has drifted away from its original concept of simple, standard containers toward the idea of Docker-as-platform – and that's not what CoreOS signed on for when it first started working with the tech.
"Unfortunately, a simple re-usable component is not how things are playing out," Polvi wrote. "Docker now is building tools for launching cloud servers, systems for clustering, and a wide range of functions: building images, running images, uploading, downloading, and eventually even overlay networking, all compiled into one monolithic binary running primarily as root on your server."
Sources familiar with Docker's plans have told The Reg that the company plans to demo at least some of these features at its DockerCon Europe conference in Amsterdam this week.
From Polvi's POV, however, these changes actually weaken Docker, rather than strengthening it. Describing Docker's central-daemon design as "fundamentally flawed" and its security model as "broken," Polvi said that CoreOS "cannot in good faith" continue to support Docker's for its enterprise customers.
Rather than forking Docker's code, CoreOS has taken the approach of creating a ground-up replacement for the Docker image format and the tools used to launch and manipulate containers.
Significantly, all of CoreOS's tools for working with App Container will be integrated, yet independent from one another. Rocket can run as a standalone tool on any flavor of Linux, not just CoreOS. And Polvi said he expects other vendors to make their own tools that work with the App Container specification; eventually, customers who don't like Rocket won't have to use it at all.
CoreOS is even considering contributing support for App Container to the open source Docker project itself, once the specification matures.
In a blog post on Monday, Docker CEO Ben Golub expressed disappointment with CoreOS's move, adding that "only a small number of vendors" disagree with Docker's overall direction, and then often for self-interested reasons. Still, he said, because Docker is an open source project, customers are free to use and integrate with the software as they like, including promoting an alternative standard like App Container.
"While we disagree with some of the arguments and questionable rhetoric and timing of the Rocket announcement, we hope that we can all continue to be guided by what is best for users and developers," Golub said.
For now, however, it's early days yet for Rocket and App Container, and CoreOS has called upon the open source community to help develop the tech. A draft of the App Container spec is available here, and the prototype version of Rocket is available on GitHub, here. ®