Live data from Hacker News

CoreOS is building a container runtime, Rocket

coreos.com

81–90 of 295 posts

Re: CoreOS is building a container runtime, Rocket

#82
post #9

Interesting takeaways from the post: * Despite Brandon Philips (CoreOS CTO) serving on the Docker governance board, Docker has aggressively expanded their scope well beyond their original container manifesto. * CoreOS believes the Docker runtime is now too unwieldy and "fundamentally flawed"; the unwritten word that really sprung to mind was that Docker was getting "greedy." * CoreOS reaffirms their original operatin…

I believe the two (Docker & CoreOS) might have rather similar strategies and / or product roadmaps.

What seemingly gets mixed up by quite a few commentators on this topic:

Docker is an orchestration, deployment, management, etc solution - the "container" is created by LXC, jails, libVirt or other OS features and now also libContainer.

This discussion also shows how far away / how early we are with "containerization" or container that are exchangeable / movable between different (OS) environment - we are discussing the companies that are building cranes to load and unload the boxes before we even have an understanding how the boxes will really look like.

Re: CoreOS is building a container runtime, Rocket

#83
I had just landed LXC container support in Velociraptor [1] when Docker was announced last year. It uses Supervisor to launch LXC containers and run your app inside. I thought long and hard about switching to Docker, but their decision to remove standalone mode [2] would have meant replacing all of Velociraptor's Supervisor integration with Docker integration instead. With Docker being such a moving target over that time span, it just seemed like a bad move.

Since then I've been mulling writing my own standalone 'drydock' utility that would just start a single container and then get out of the way (as opposed to the Docker daemon that insists on being the parent of everything). I'm optimistic that Rocket could be that thing.

Question though: Does Rocket have any concept of the image layering that Docker does? That still seems to me like a killer feature.

[1] https://bitbucket.org/yougov/velociraptor/ [2] https://github.com/docker/docker/issues/503

Re: CoreOS is building a container runtime, Rocket

#85
So here's my take on this. From the docs on github:

  The first step of the process, stage 0, is the actual rkt binary itself. This binary is
  in charge of doing a number of initial preparatory tasks:
  
    Generating a Container UUID
    Generating a Container Runtime Manifest
    Creating a filesystem for the container
    Setting up stage 1 and stage 2 directories in the filesystem
    Copying the stage1 binary into the container filesystem
    Fetching the specified ACIs
    Unpacking the ACIs and copying each app into the stage2 directories
Questions:

Don't all these steps seem like a lot of disk, cpu and system-dependency-intense operations just to run an application?

Why is this thing written in Go when a shell script could do the same thing while being more portable and easier to hack on?

Why are they saying this thing is composable when they just keep shoving features (like compilation, bootstrapping, configuration management, deployment, service autodiscovery, etc) into a single tool?

Re: CoreOS is building a container runtime, Rocket

#86
post #47

Earlier quoted context omitted.

What is Docker's 'new' direction? I don't see any related announcements on their blog besides adding support on new platforms.

Docker's 'new' direction is to direct its attention towards solving the orchestration and management problems involved in actually running infrastructure on Docker. A number of third parties had begun work on various (sometimes proprietary) orchestration and management systems for creating a reliable/scalable/easily manageable cluster with Docker as a building block. CoreOS is one. But Docker is pushing towards an of…

I think it is a great stand for Docker. Very recently (IMHO in 1.3), it merged the functionality of Fig into Docker.

I think Docker orchestration and coreos can coexist - if I had to use COREOS to use the goodness of Docker, then systemd-nspawn would come and eat Docker's lunch.

I wish that Docker bless one of Ansible/Chef as the official orchestration base and take it forward. I really don't want to earn something Docker specific.

Re: CoreOS is building a container runtime, Rocket

#87
Hi, I created Docker. I have exactly 3 things to say:

1) Competition is always good. Lxc brought competition to openvz and vserver. Docker brought competition to lxc. And now tools like lxd, rocket and nspawn are bringing competition to Docker. In response Docker is forced to up its game and earn its right to be the dominant tool. This is a good thing.

2) "disappointed" doesn't even begin to describe how I feel about the behavior and language in this post and in the accompanying press campaign. If you're going to compete, just compete! Slinging mud accomplishes nothing and will backfire in the end.

3) if anyone's interested, here is a recent exchange where I highlight Docker's philosophy and goals. Ironically the recipient of this exchange is the same person who posted this article. Spoiler alert: it tells a very different story from the above article.

https://twitter.com/solomonstre/status/530574130819923968 (this is principle 13/13, the rest should be visible via Twitter threading)

EDIT: here is the content of the above twitter thread:

1) interface to the app and developer should be standardized, and enforced ruthlessly to prevent fragmentation

2) infrastructure should be pluggable and composable to the extreme via drivers & plugins

3) batteries included but removable. Docker should ship a default, swappable implementation good enough for the 80% case

4) toolkit model. Whenever it doesn't hurt the user experience, allow using one piece of the platform without the others.

5) Developers and Ops are equally important users. It is possible and necessary to make both happy.

6) If you buy into Docker as a platform, we'll support and help you. If you don't, we'll support and help you :)

7) Protect the integrity of the project at all cost. No design decision in the project has EVER been driven by revenue.

8) Docker inc. in a nutshell: provide basic infrastructure, sell services which make the project more successful, not less.

9) Not everyone has a toaster, and not everyone gets power from a dam. But everyone has power outlets. Docker is the outlet

10) Docker follows the same hourglass architecture as the internet or unix. It's the opposite of "all things to all people"

11) Anyone is free to try "embrace, extend extinguish" on Docker. But incentives are designed to make that a stupid decision

12) Docker's scope and direction are constant. It's people's understanding of it, and execution speed, that are changing

13) If you USE Docker I should listen to your opinion on scope and design. If you SELL Docker, you should listen to mine.

Re: CoreOS is building a container runtime, Rocket

#88
post #83

I had just landed LXC container support in Velociraptor [1] when Docker was announced last year. It uses Supervisor to launch LXC containers and run your app inside. I thought long and hard about switching to Docker, but their decision to remove standalone mode [2] would have meant replacing all of Velociraptor's Supervisor integration with Docker integration instead. With Docker being such a moving target over that…

Yes, the app-container spec has the concept of dependent filesets. See:

https://github.com/coreos/rocket/blob/master/app-container/S... https://github.com/coreos/rocket/blob/master/app-container/S...

What do you think of the filesets concept?

Re: CoreOS is building a container runtime, Rocket

#89

I have been concerned that Docker's scope was expanding too far for a while now, so I'm glad to see an alternative that might work appear on the horizon. That said, I am somewhat concerned that CoreOS has a suspiciously similar business model to where Docker would probably like to be. It's in a business's best interest, and exceedingly common practice, to "land and expand" with something clear and compelling, and fol…

> I have been concerned that Docker's scope was expanding too far for a while now What features were recently introduced that it increased Docker's scope?

Talk of Docker cluster, which might include a network overlay layer a la weave

Re: CoreOS is building a container runtime, Rocket

#90

Earlier quoted context omitted.

I prefer the Unix model - many programs that work together. That might not be practical for networking (a natural plug-in, probably), but feels like it should be the way for orchestration. The Docker image registry and image management should really be a separate program as well - that is a huge pain point that Rocket seems more likely to get right.

Interestingly enough, with flannel, docker's advanced networking capabilities become pretty trivial, and communication across hosts is also pretty trivial. I think all in all, CoreOS has built out a ton of tools to make using Docker easier, and they're all very well defined, and compossible. I'd even say that a lot of docker's features could be completely removed by using some of these tools. Links? Nah just use ips/…

The thing I like about the link model is that they hide your containers from other containers and only expose the connections you want (I think using iptables?)

I'd like a tool that makes this linking easier outside of Docker, but for now this is one of the features I like about it (although holy moly do Docker links have a lot of baggage you have to bring along for the ride, like giving everything names).

Post reply on HN