Is Rocket Strictly a Competitor to Docker?
Container technology was major news last year, and if you bring up the container arena to most people, Docker is what they think of. OStatic has highlighted some of Docker's instabilities, though, and, as noted in this post, significant competition is coming in Docker's direction.
Google has set its sights on Docker by transforming its Kubernetes platform into a full-fledged part of Google Cloud Platform with Google Container Engine. Canonical is leaping into the into the virtualization arena with a new hypervisor called LXD that uses the same Linux container tools that have allowed Docker to isolate instances from one another. Also, we've reported on how the CoreOS team is developing a Docker competitior dubbed Rocket. Rocket is a new container runtime, designed for composability, security, and speed, according to the CoreOS team. Here is more about Rocket, and whether it is intended to compete with Docker.
The group has released a prototype version of Rocket on GitHub to begin getting community feedback.
According to a post from the Core OS folks on Rocket:
“When Docker was first introduced to us in early 2013, the idea of a “standard container” was striking and immediately attractive: a simple component, a composable unit, that could be used in a variety of systems. The Docker repository included a manifesto of what a standard container should be. This was a rally cry to the industry, and we quickly followed. We thought Docker would become a simple unit that we can all agree on.”
“Unfortunately, a simple re-usable component is not how things are playing out. 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. The standard container manifesto was removed. We should stop talking about Docker containers, and start talking about the Docker Platform.”
“We still believe in the original premise of containers that Docker introduced, so we are doing something about it. Rocket is a command line tool, rkt, for running App Containers. An ‘App Container’ is the specification of an image format, container runtime, and a discovery mechanism.”
That said, in a conversation with Matt Asay posted online, CoreOS founder Alex Polvi says that Rocket isn't really meant to replace Docker, but can help to standardize basic container technology. Polvi says in the interview:
"Docker started out as a component for building platforms with. A building block. Something you could layer into your existing systems to take advantage of containers. Examples of this in action are Kubernetes or the EC2 Container service. These things use containers as part of a larger system...Now Docker is a platform itself, not the building block. Is this bad? No, it is just no longer the ideal component for building systems...We think there is still a need for the component to exist for other systems to integrate with."
You can read Polvi's manifesto on why Rocket should exist here. In it he writes:
"At CoreOS we have large, serious users running in enterprise environments. We cannot in good faith continue to support Docker’s broken security model without addressing these issues. Additionally, in the past few weeks Docker has demonstrated that it is on a path to include many facilities beyond basic container management, turning it into a complex platform. Our primary users have existing platforms that they want to integrate containers with. We need to fill the gap for companies that just want a way to securely and portably run a container."
Is it likely that some of these serious enterprises are going to end up running Rocket and Docker? That may very well happen.