Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between Docker and Rocket from CoreOS?

Can anyone understand and explain the fundamental differences of Docker and Rocket?

I don't seem to get it.

Maybe it's just too new of a direction.

Hope someone can explain the fundamental pros and cons of Docker vs Rocket.

Thanks

https://coreos.com/blog/rocket/ https://github.com/coreos/rocket

like image 233
stashfree Avatar asked Dec 02 '14 17:12

stashfree


3 Answers

Rocket is an "early stage" container manager, just like was Docker a few month ago. The new "container runtime" was lanched by CoreOS few days ago but the intresting thing is WHY?

Essentially CoreOS, as well as others Open Source developers and startups, says that Docker broke the idea of a “standard container”, simplicity and composability, they where started from, proved by the fact that they removed original shipping containers 'manifesto'.

By my side, I already saw many signals of that, starting from the "legal empowerment" of Docker brand, to the drop off LXC containers, the Linux open source tecnology at the base of Docker, which permitted their own climb since the very beginning. I shoot my first hot reaction here, in responce to the "counterattack" of Solomon Hykes (founder & creator of the Docker project) to CoreOS announcement.

That why I found quite curious (hilariously) the recent declaration of Solomon Hykes : "We're standing on the shoulders of giants"

They also have raised doubts about security and composability perspective:

From a security and composability perspective, the Docker process model - where everything runs through a central daemon - is fundamentally flawed. To “fix” Docker would essentially mean a rewrite of the project, while inheriting all the baggage of the existing implementation.

So what is Rocket at the end ?

Rocket is an alternative to the Docker runtime, designed for server environments with the most rigorous security and production requirements. Rocket is oriented around the App Container specification, a new set of simple and open specifications for a portable container format.

What's the difference with Docker ?

The promise foundation of freedom and industrial open standards like in DNS, HTTP, IMAP, SMTP, TCP/IP, ISO/OSI stack ... Internet? Or more a concrete security and composability perspective.

Have a look at the eclectic speaker and amazing developer Kelsey Hightower Rocket Tutorial & Demo.

ongoing UPDATE (SPECs - OPENSOURCE - VISION):

[MUST READ] Amazing nitty-gritty details about the matter of Docker flawed

universal toolkit for emulating Heroku, regardless of stack or container engine

Rocket & App Container Spec Overview

like image 105
Luca G. Soave Avatar answered Nov 14 '22 17:11

Luca G. Soave


Not clear now, they just forked ;) But Rocket want stick to pure unix philosophy

Unix philosophy: tools should be independently useful

Which implies that Docker is willing to pay less attention to this topic. To my opinion it was not the case till that moment, but yes Docker announced orchestration tools in the future... CoreOS is building their own orchestration stack so they don't really need one of Docker.

Summing up: for now use Docker. And ask this question again in a year.

like image 22
aholbreich Avatar answered Nov 14 '22 16:11

aholbreich


Rocket - uses systemd-nspawn ( they can also do exec of kvm ) There is also an intention to make rocket a generic framework to manage any virtualized environment that is shipped with coreOS

Docker - uses lxc ( inturn does clone ( namespace ) & pivot_root ) It starts with a base image that is read only and adds more images to it. It uses union mount to add more read-only filesystems on to the base root fs. It also implements copy on write. It starts with an empty read-write layer and if you write something to a file the file is first copied to the read-write layer. checkout aufs.

The net effect is very similar ( if both are configured to use containers) but the way apps are packaged and deployed are different.
rocket claims to provide better flexibility by providing app spec. Docker provides easy/quick portable packaging and deployment.

like image 24
resultsway Avatar answered Nov 14 '22 17:11

resultsway