Slashdot Mirror


CoreOS Announces Competitor To Docker

New submitter fourbadgers writes: CoreOS, the start-up making the CoreOS Linux distribution, has announced Rocket, a container management system that's an alternative to Docker. CoreOS is derived from Chrome OS and has a focus on lightweight virtualization based on Linux containers. The project has been a long-time supporter of Docker, but saw the need for a simpler container system after what was seen as scope-creep in what Docker provides.

71 comments

  1. It is not about scope... by houstonbofh · · Score: 4, Insightful

    It is not about scope, or features, or development. It is all about who has the most things to install. Unless it runs Docker apps, (Which will be hard if it does not keep up with the feature creep) it is already starting way behind.

    1. Re: It is not about scope... by Anonymous Coward · · Score: 5, Insightful

      As someone that has used Linux vserver for over 10 years and is currently running lxc containers for our business, I would say that Docker is a very confusing project to put into practice. We decided that we could do a better job and have more control over the deployment and operations of our applications.

      We evaluated coreos and decided against it because it used Docker.

      I think this is a good moved from coreos and makes complete sense if you had to use this stuff for anything in the real world.

    2. Re: It is not about scope... by Anonymous Coward · · Score: 0

      you sir, are an idiot.

    3. Re: It is not about scope... by Anonymous Coward · · Score: 0

      As someone who's toyed with Docker and is still running VMs via KVM...

      Docker is actually pretty simple, once you get past the complete shit that is Docker-related documentation.

      Mind you, I'm not exactly complaining. While I take exception to most open sores documentation... I'm not exactly stepping up to the plate. I don't expect others to, either. Translating engineerspeak into actual English, combined with random updates that completely obliterate the reality of existing docs... It isn't a sexy job.

      I wish there was a way to make documentation sexy.

    4. Re:It is not about scope... by jbolden · · Score: 1

      Rocket is a specification that the Docker project could include support for.

      But absolutely it is way behind. This only is going to make sense for a system that wants a genuine next generation Docker and is willing to give up all the tools on top of Docker to get there. So far I'm not seeing much advantage except for the fact that a system wouldn't need a registry. Their analogy of DNS for executables could be the killer feature of Rocket but even still that's a lot of different containers before that made sense. I could see it. Say large projects gets broken into dozens (hundreds / thousands) of containers and hundreds of versions each with new ones being released every few hours...

    5. Re: It is not about scope... by Anonymous Coward · · Score: 0

      Despite the idiocy that holds me back. I have managed to prevail and do have real business that depends on this kind of technology. We evaluated docker for a 500 server cluster as part of our expansion and next version of our platform. When I say confusing, I am off course referring to the same issues that the coreos team points out.

      Docker is interesting at the template level but has lost its direction with all the additional stuff they are putting in to the platform.

      When I say do it myself, I of course refer to the use of lxc containers which we can use to solve the majority of our requirements.

      We quite like coreos which I urge others to look at. We would consider it again for deployment in other places when we set up our next location in 2015

    6. Re: It is not about scope... by houstonbofh · · Score: 1

      I wish there was a way to make documentation sexy.

      Inappropriate pictures?

    7. Re: It is not about scope... by g4sy · · Score: 1

      wow fanboy much? are the coreos devs idiots? 'cause i've met them and they seemed smart. also, i've foregone docker in favour of just lxc. am i an idiot? do you want to tell my clients? they will too a multinational, laugh you to the curb

      --
      somewhere, on a Big Red Sign:
      if(color==blue){speed--;}
  2. Apple already uses that name.. by jcr · · Score: 3, Interesting

    "CoreOS" is the kernel and UNIX services layer of iOS and Mac OS X.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Apple already uses that name.. by bill_mcgonigle · · Score: 4, Funny

      "CoreOS" is the kernel and UNIX services layer of iOS and Mac OS X.

      Actually, Core OS is.

      Yeah....

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Apple already uses that name.. by darkain · · Score: 3, Informative

      And IOS is the operating system powering Cisco routers.

      http://en.wikipedia.org/wiki/C...

    3. Re:Apple already uses that name.. by wonkey_monkey · · Score: 2

      Apple already uses that name..

      So does the Spanish post office! Kinda...

      --
      systemd is Roko's Basilisk.
    4. Re:Apple already uses that name.. by camperdave · · Score: 1

      ... Which was, in turn, preceded by IBM's use of the term for the Input/Output Supervisor component of the OS/360 operating system.

      --
      When our name is on the back of your car, we're behind you all the way!
    5. Re:Apple already uses that name.. by TheRaven64 · · Score: 2

      And Apple licenses that trademark from Cisco. They also license the trademark on iPhone from Cisco, who previously had a SIP phone with the same name.

      --
      I am TheRaven on Soylent News
    6. Re:Apple already uses that name.. by OzPeter · · Score: 1

      And IOS is the operating system powering Cisco routers.

      And it is also a brand name for a GE designed industrial automation controller.

      --
      I am Slashdot. Are you Slashdot as well?
    7. Re:Apple already uses that name.. by znrt · · Score: 1

      Apple already uses that name..

      So does the Spanish post office! Kinda...

      and so does the spanish royal house: http://www.elperroflaco.com/ph...

      (translation: jizz in my face)

  3. Fuck me. by Anonymous Coward · · Score: 5, Funny

    Oh, fuck. I'm going to in to work tomorrow, and our resident Ruby on Rails weeny will have a fat, stiff boner over this technology. He'll be ranting and raving about how amazing it is, even if he's never used it. The old FreeBSD and Solaris admins will scowl at this rube and how he's getting excited over technology they had available to them 15 to 20 years ago. The even older guys who worked on mainframes will chuckle, thinking back fondly to the days when they first encountered this type of technology, so many decades ago. Six months from now, after the Ruby on Rails dickweed has convinced our manager to use this technology in production, I'll get a call in the middle of the night because it's all fucked up and broken. I'll have to waste my night fixing it, while our resident Ruby on Rails pecker is reading all about the next fad he'll use to fuck over the rest of us with.

    1. Re:Fuck me. by Anonymous Coward · · Score: 0

      I've actually found that for bosses / managers pitching "new tech" really is a big win and can drive better pay / better funding for hardware etc very easily or close a deal more easily. I think it sort of glosses over the difficulty and hard work in any project which helps when selling, there something shiny to look at while the slaves grunt away.

      I'm not saying new stuff is better, but when I was pitching stuff that often sold better then just doing a straightforward implementation in a known good tech (boring). I seriously JUST saw this again today. Client's board notes (I'm reviewing things) said, "getting x going was much more time intensive then expected but x still developing and we feel we are well placed against peers in using x). Of course, there are like three existing good solutions for their issue, and they are WAY too small to be charting new courses. But it sells!

    2. Re:Fuck me. by Anonymous Coward · · Score: 0

      So, so much this. All of it.

    3. Re:Fuck me. by Anonymous Coward · · Score: 0

      > get a call in the middle of the night because it's all fucked up and broken. I'll have to waste my night fixing it

      Lol sounds like you have a shit job. But then, considering you can't comprehend the difference between Rocket and what FreeBSD had 20 years ago, you should feel fortunate you have a job at all.

    4. Re: Fuck me. by Anonymous Coward · · Score: 0

      That sounds like a self righteous fantasy. I presume all these convenient archetypes that you happen to work with exist only in your head.

    5. Re:Fuck me. by Anonymous Coward · · Score: 0

      As the resident Ruby on Rails weeny, I resemble that remark!

      Also, as the old FreeBSD / Solaris admin, so do I...

      Also, as the old mainframe guy, so do I...

      and we all have a point... I started using Ruby way before Rails because it was easier to translate solutions into code than PERL / C / Java... at the same time, it made it harder because libs are changing constantly.. ( so was CPAN tho )

      I have also been called in at 3am ( all the way from BFE ) many times because some zealot who only had one piece of the puzzle found a way to make his piece work better... all at the expense of the other pieces he "thought" he understood... and he could sell it upstream because web guys make nicer looking websites detailing features than command line guys... ( it is hard to sell with a man page )

    6. Re:Fuck me. by pooh666 · · Score: 2

      He wasn't talking about FreeBSD 20 years ago, he was talking about App deployment on mainframes 20 years ago. Yes, junior it isn't a new idea. Sure some things are different, but many fundamentals were ideas way way before we had the super power, speed we do now.

    7. Re:Fuck me. by Anonymous Coward · · Score: 0

      This sounds so true, only with Ruby being replaced with node.js+html5. It is so sad that at least larger companies are full of people at technical steering groups who do no actual development, they just evangelize about the latest fads and force them into use with all the false promises. And the R&D gets the blame if the trendy technology did not actually deliver what it promised.

  4. Pocket Rocket? by mveloso · · Score: 2

    So, Rocket for Android would be called Pocket Rocket?

  5. Where Docker failed by d3xt3r · · Score: 5, Interesting

    Containers are an interesting beast. Solaris has had Zones (aka containers) since 2005. In Solaris, these Zones are more akin to virtual machines, except much more efficient. All zones shared a single kernel, they just had virtual network interfaces, storage, and could be managed independently. Now, in 2014, Docker brings the same simplicity of Solaris Zones to Linux.

    Sure, we've had CGroups in Linux since 2004/2006 but Docker finally brought Linux up to speed with a simple to use capability for creating isolated containers on Linux. Only, the implementation brings with it the same flawed approach as Solaris Zones. Do we really need a full OS image running in a container? I don't think so. Docker images are based on a Linux distro (Ubuntu or CentOS, etc). So we look at this and say, "cool, virtualization without the overhead of interrupts for everything from writing to disk to sending packets over the wire." But is that really the best we can do?

    I think what Rocket really represents is a way to do containers right. Containers should run a single process. We shouldn't look at containers as a more efficient VM. We should see containers as a way to increase security and reduce overhead. Do you really want to have to run apt-get or yum inside every container? No. Containers should provide process isolation and application management capabilities. They shouldn't include the OS and the kitchen sink of user land utilities.

    This is where Docker has failed. Instead of simplifying administration and deployment, it's introduced its own nuanced approach to system management. The reason we need a Docker competitor (replacement?) is because Docker has failed to live up to its hype.

    1. Re:Where Docker failed by Anonymous Coward · · Score: 0

      > But is that really the best we can do?

      If you can do better, write it yourself. Seriously, if I see one more handwaving theoretical argument from people who don't actually write any code and are unaware of the *interconnection* between various tasks in order to function, ranging from disk IO to network stacks to credential management, I'm going to just..... be completely unsurprised.

    2. Re:Where Docker failed by Anonymous Coward · · Score: 1

      I hate to break it to you, but in the real world we've been using cgroups and namespaces ourselves for years.

    3. Re:Where Docker failed by steveha · · Score: 5, Interesting

      Disclaimer: I'm not super experienced in this stuff. I am open to correction if I have any of these points wrong.

      Do we really need a full OS image running in a container?

      I think we probably do.

      One of the key selling points of Docker is that the container is load-and-go. Do you have some wacky old software that has a hard dependency on particular versions of some libraries? You can build a container with just the right libraries and get your software to work... and, after you do that work, the container is just another container. It may have been a pain for you to get it working, but then anyone can run it on any Docker host as easily as any other container. This seems kind of powerful to me.

      Do you need to see how your software runs on CentOS and Debian? You can set up a container for each, and run the tests on a single host system.

      And if you want maximum security, it's kind of neat that each docker container can use just its own private file system and containers can't affect each others' running state.

      So, if you are content with running an up-to-date system, and always running the latest versions of everything, and upgrading everything together, you could make a security isolation system lighter weight than Docker, but trading off some of the simplicity and flexibility of Docker. You might think it's a good choice, but I don't think you can reasonably claim that it's better in all ways.

      Containers should run a single process. We shouldn't look at containers as a more efficient VM.

      As I understand it, it is considered best practice in Docker to run a single process per container. Some people do use Docker as a sort of lightweight VM but not everyone likes it.

      Are you arguing that Docker is flawed because it doesn't enforce one process per container? Because I'm not seeing it. I would rather have the flexibility; if I want to use Docker as a lightweight VM, the option is there, and I don't see that as a bad thing.

      Do you really want to have to run apt-get or yum inside every container?

      Please correct me if I'm wrong, but my understanding is that you don't have to run a package manager inside every container. You would have a "base system" image, and you would update that image from time to time; then you build your specific containers as layers on top of the base image.

      I believe a container could simply be a script that starts up a service, and config files that configure the service, with the actual packages for the service in the "base system" image. I'm not sure if that is standard practice or what.

      I'm hoping that with Docker I could make micro-servers, like a Docker container with just a web server in it, not even a Bash shell. If someone cracks my server I want him in a desert, with no tools to help him escalate his privileges. I'm not sure how feasible that is now, but I think Docker is at least headed in that direction.

      I'm not opposed to this new Rocket thing, but I'm still not clear on its actual advantages over Docker.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    4. Re:Where Docker failed by Anonymous Coward · · Score: 1

      > Now, in 2014, Docker brings the same simplicity of Solaris Zones to Linux.

      Wrong. Do your homework. The Linux containers is called LXC. Docker is just a bureaucracy layer on top of that, to abstract the different dialects of containers (among others, the above mentioned LXC). Very much like libvirt on top of Linux KVM abstracts the VM stuff and can be used on top of other VM implementations).

      If you plan on using several different flavors of containers and want to treat them uniformly, Docker might make sense. If you're a Linux-only shop, by all means study and understand LXC first. One bureaucrat less to deal with.

    5. Re:Where Docker failed by vux984 · · Score: 3, Interesting

      Do you have some wacky old software that has a hard dependency on particular versions of some libraries? You can build a container with just the right libraries and get your software to work... and, after you do that work, the container is just another container.

      On the flipside, the security of that container has to be managed separately. The operating system and libraries have to be managed separately. Yes, you get the advantages you state... but if the software isn't "wacky old software with wierd dependencies" then its a lot of overhead to setup and maintain.

      A more lightweight approach to the common case makes sense, and you can always fall back to a full VM for the wacky ones.

    6. Re:Where Docker failed by brunes69 · · Score: 1

      You are looking at things through an overly simplistic viewpoint. Many applications do not run just one process or daemon. Even simple applications like MySQL need many processes that are synchronized to the same version. An application I am working on docker-ifying right now has about 40 processes in total, all with their own init scripts and other things to manage. I doubt this application could even be deployed in Rocket at all the way it is described via this link.

    7. Re:Where Docker failed by brunes69 · · Score: 1

      Docker does a lot more than this. The whole point of docker is to take the LXC stack and use it to build micro-services than can layer on top of each other seamlessly, and to create and maintain a repository of these containers than can be swapped in and out for upgrades with zero hassle. Think of docker like apt-get on lots of steroids.

    8. Re:Where Docker failed by unrtst · · Score: 1

      Please correct me if I'm wrong (I've read loads of docs on Docker, but have not used it yet).
      From what I've read, the problem you describe is not a technical limitation/implementation detail of Docker, but is simply a symptom of how it is generally being used.

      Only, the implementation brings with it the same flawed approach as Solaris Zones. Do we really need a full OS image running in a container? ...

      I think what Rocket really represents is a way to do containers right. Containers should run a single process. We shouldn't look at containers as a more efficient VM. We should see containers as a way to increase security and reduce overhead. ...

      From what I've read, a Docker container can have as few things in it as you want (or as much as you want, up to the everything but the kernel). If you were doing an Apache container, you might put apache, mod_ssl, the ssl libs, mod_php, perl, libperl, mod_perl, etc in there, but you don't have to put glibc or other libs in there. It'll use the hosts libs and apps as needed/configured. As far as I can tell, you don't even have to put all that in there... you could leave the openssl, libperl, etc outside on the host and configure the container to use the hosts stuff for those. Again, please correct me if I'm mistaken.

      I get the feeling that many are embracing Docker as a way to distribute containers for certain tasks. As such, they include everything the services within the container needs so that it will run on any host with Docker support, which makes them easier to distribute (somewhat like VMware's Virtual Appliance exchange). The fact that it can function this was does not mean (AFAICT) that it must function this way.

      Docker containers can also stack, where one container may just be a diff on top of one (or more?) other containers. There's a whole lot of flexibility. That flexibility does make it somewhat difficult to approach, and I think the result is what we're seeing - containers being distributed that tend to look a lot more like virtual appliances withe a nearly complete OS stack included. AFAIK, that's not the only way to do it, it's just the best fit when you're offering a container for anyone to download and use.

      Personally, I'd like to see some examples where a normal OS install is altered to use containers in all the places that chroot's are currently used, and do so with similarly light handed approaches. For example, see default bind installs where chroot is often done by default with the distro. I imagine it would be quite trivial to stick bind in a Docker/LXC/Rocket container with almost no OS parts included. I think this is the sort of solution you were referring to as "do containers right". Can this not be done with Docker today? If not, why not?

    9. Re:Where Docker failed by znrt · · Score: 1

      Do you really want to have to run apt-get or yum inside every container? No. Containers should provide process isolation and application management capabilities. They shouldn't include the OS and the kitchen sink of user land utilities.

      isolation from what? one of the outstanding applications of docker is precisely the ability to recreate the exact execution environment your process needs, including all it's dependencies, in a snap. i wonder how you would do that if you had to separately manage all the dependencies your "isolated" process needs to run.

      if you have to run apt-get or yum inside your container it's probably time to recreate it.

    10. Re:Where Docker failed by Anonymous Coward · · Score: 0

      if the software isn't "wacky old software with wierd dependencies" then its a lot of overhead to setup and maintain.

      A more lightweight approach to the common case makes sense

      What about the case where you do a major upgrade of some server app and all its supporting libraries, then discover problems and want to roll back to an earlier version? With Docker you just re-deploy the older container.

      Because of the "delta" filesystem, Docker containers are very lightweight to deploy. You only need to upload the base system once, and then all the containers using that base system upload quickly. It is a lot less heavyweight than a full VM yet seems to retain much of the flexibility.

    11. Re: Where Docker failed by Anonymous Coward · · Score: 0

      You can, for example, package just a GO executable into an empty docker container. No filesystem needed, it just runs.

      I expect a Go heavy group like coreOS will be caught up quick.

  6. for the love of the interwebs... by Anonymous Coward · · Score: 0, Offtopic

    The project has been a long-time supporter of Docker, but saw the need for a simpler container system after what was seen as scope-creep in what Docker provides.

    won't someone pretty please do the same with firefox... i want my bare no frills, speedy, addon friendly browser back. not a bloated chrome lookalike.

  7. Uses a hipster programming language by melted · · Score: 1

    Just like Docker. Epic fail. Next!

  8. Nice icon by Anonymous Coward · · Score: 0

    Why is there an open box and a CD for the subject icon? Why not a 5 1/4" floppy?

    1. Re:Nice icon by camperdave · · Score: 1

      Why is there an open box and a CD for the subject icon? Why not a 5 1/4" floppy?

      Because CDs in boxes are still used for software installation. 5 1/4 floppy software installation died out ages ago.

      --
      When our name is on the back of your car, we're behind you all the way!
    2. Re:Nice icon by Anonymous Coward · · Score: 0

      Did you just come out of a time machine or perhaps you live in a third world country?
      The last time I used a DVD was like 6 years ago...
      And a CD, probably like 10 years ago?

  9. It is not about scope... by Anonymous Coward · · Score: 0

    It proposes an open standard for containers (among other things) and Docker containers can be imported/ported over with what appears to be minimal fuss. Source: I was at the CoreOS presentation in San Francisco this evening.

  10. Where Docker failed by Anonymous Coward · · Score: 0

    The Docker folks have been pushing the microservices model for containers for some time. I don't believe it to be particularly viable given the ecosystem tooling and level of experience with non-fat containers/VMs among Ops folks currently outside of those who have worked at a handful of companies like Google, Facebook, Twitter, etc. If Kubernetes matures and the Mesos folks continue to work with them that may go a long way except that Mesos has a repuation for being a real bear to stand-up. I've been finding CoreOS to be a nice compromise for someone coming from a background which does *not* involve vast experience with a cluster manager.

  11. This is linux after all. by Anonymous Coward · · Score: 1

    We need yet another incompatible re-implementation of a major subsystem to fragment and distract the user base because were such masochists and need 7+ different package managing systems, 10+ desktop window managers, 4 different audio stacks some piled onto the other, 2 different replacements for Xorg, and etc. Someone tries to fix that problem, but were too successful, so now we gotta have two different implementations of it because some competing corporation wants some street cred. But hey, at least we only have one dominate SSH server because borrowed that from OpenBSD and writing another SSH server is too boring for Mark Shuttleworth.

    1. Re:This is linux after all. by camperdave · · Score: 1

      We need yet another incompatible re-implementation of a major subsystem to fragment and distract the user base because were such masochists and need 7+ different package managing systems, 10+ desktop window managers, 4 different audio stacks some piled onto the other, 2 different replacements for Xorg, and etc. Someone tries to fix that problem, but were too successful, so now we gotta have two different implementations of it because some competing corporation wants some street cred. But hey, at least we only have one dominate SSH server because borrowed that from OpenBSD and writing another SSH server is too boring for Mark Shuttleworth.

      And people wonder why companies don't release software for Linux.

      --
      When our name is on the back of your car, we're behind you all the way!
    2. Re:This is linux after all. by znrt · · Score: 1

      7+ different package managing systems,
      10+ desktop window managers,
      4 different audio stacks some piled onto the other,
      2 different replacements for Xorg

      psst! relax, buddy. you only have to pick *one* of each!

      if you want someone else to decide for you, just grab a distro at random and don't fiddle with it, or go windows or osx ...

      you're welcome.

  12. CoreOS is responsible for systemd-networkd by Anonymous Coward · · Score: 1

    Just in case anybody wanted to pick political sides, CoreOS sponsored the development of networkd for systemd. So, the systemd perspective is the perspective that they're using when they criticize Docker for not being a tool that does one thing well.

  13. Are you serious?! by Anonymous Coward · · Score: 0

    They dumped Docker over feature creep when systemd is feature creep at every update? Talk about hypocrisy...

  14. You are not Dockers business case by brunes69 · · Score: 2

    If you have been using LXC for over 10 years and have a custom application already tuned to it, you are not Docker's case, and that is fine. What Docker is about is being able to rapidly download and deploy entire enterprise stacks, with each piece of the stack being totally isolated and thus easily maintainable and upgradeable, making the whole thing easily automated. Want to swap from Postgresql 8 to Postgresql 9? Swap out the container that someone else has already made and tested... done. It is a very useful project.

    1. Re:You are not Dockers business case by DUdsen · · Score: 5, Interesting

      Dockers problem along with most of the web2.0 stuff is that it might look easy now but how are you going to ensure that everything is kept patched. When the installation/development team have fled the building and handed the task of running it over to some "outsourced operations center".

      This is the question that never gets asked and why a lot of this new fancy smart stuff isn't that widely deployed by largish shops whose core business is something other then it and where a 5 year life cycle is considered short and agile.

      Forking a filesystem is smart but remember your also forking and freezing yourself into all of the undiscovered bugs so you need a way to resync and retest every docker container ever deployed for every update in the platform you based it on. and this is something i haven't really seen anyone cover in dept yet.

    2. Re:You are not Dockers business case by jbolden · · Score: 2

      but how are you going to ensure that everything is kept patched. When the installation/development team have fled the building and handed the task of running it over to some "outsourced operations center".

      The outsourced operations center is responsible for most of the core containers and your development team responsible for others. The operations center knows what containers need to be replaced everyday. Because automated test environments need to be in place, they just roll out the new container and test. If it passes regression (i.e. identical output) it goes into production (or at least staging). Then you find out if your regression tests are up to snuff. If they aren't you build better regression tests.

      This is the question that never gets asked and why a lot of this new fancy smart stuff isn't that widely deployed by largish shops whose core business is something other then it and where a 5 year life cycle is considered short and agile.

      The idea is that there are microservices. Nothing will ever have a 5 year lifecycle unchanged. That's the philosophy.

    3. Re:You are not Dockers business case by Anonymous Coward · · Score: 2, Interesting

      He said vserver for over 10 yrs, NOT lxc.

      Believe it or not, linux has had OOT container technology for ages, in the form of vserver and openVZ. We also have used vserver for at least the last decade at my work.

      I was most surprised about the "using lxc in production" bit. We keep looking at it, but lxc still does not offer the isolation or stability to use in production (we had unpriv lxc containers working, then they were not). Semi-priv haven't been broken in quite a while though. Still not convinced lxc is really safe yet, even with uidmaps, since the main backers of lxc, Cannonical, always run app armor on top of it.

      We also haven't found a use-case here where the Docker layer provides benefit. And anything with an ugly xml config file needs to be _very useful_ to be bothered with.

    4. Re:You are not Dockers business case by nr · · Score: 1

      Yes, all Linux/Unix admins knows there is a constant stream of security patches coming every week. One will need to swap the whole container out for a small updated binary or shared library. Seams a bit inefficient to me to go through the whole dev-staging-test-deploy pipeline every week or even serval times a week for one or more containers.

      Or do you Docker users just skip security updated and leave the holes wide open?

  15. A serious downgrade. by juanfgs · · Score: 1

    They are expecting people to change the happy whale for just an ugly rocket. That's not the way the Go community rolls. Everybody knows that cute mascots are the most important part of a good software.

  16. Needless confusion by Anonymous Coward · · Score: 3, Informative

    There is significant confusion about Linux containers. The Linux container project (LXC) has been baking since 2009, is perfectly usable and the extensive Linux toolset to support servers and clustered environments work with LXC perfectly.

    There is little need to reinvent unless some value is being added but in many cases its just adding complexity to extract value by funded companies who muddy the waters relentlessly.

    LXC is supported by Ubuntu since 2012 and mainly developed by Stephane Graber and Serge Hallyn of Ubuntu. LXC gives you Linux containers with a complete Linux environment, a wide choice of container OS templaes and advanced features like unprivilged containers that let's non root users run containers. Tools like Docker took this base LXC container, introduced a restrictive container OS environment to give you an app delivery platform with added complexity suitable for PAAS type scenarios, but promote themsevles as 'easier to use'. And in their marketing are vague on their genesis and their value add on top of LXC which would need them to be open about the extact nature of LXC, referring instead to the project as 'low level kernel capabilities' and allowing the misconception to spread that Docker is linux containers.

    Because of the LXC project's low profile and marketing resources of funded companies a lot of folks first introduction to Linux containers is via tools like Docker, who do not know much about LXC beyond the misconceptions. And even stranger a lot of other funded projects spring up around tools like Docker that try to break though the self imposed restrictions of Docker containers to make them more like LXC!

    The end result is unbecoming confusion even on better informed discussion forums like Slashdot, Soylent news, Hackner news and phoronix. So imagine the level of confusion with normal users? All Docker has to do now is lose the needless restrictions on their containers and LXC is basically dead. This looks like embrace, extend and extinguish.

    Here is a timeline of LXC

    2007 - Cgroups patches to the Linux kernel by a couple of Google coders

    2009 - The LXC project by Daniel lezcano, Serge Hallyn supported by IBM with a kernel patch and userland tools to create and manage containers. The LXC code was merged into the kernel in 2.6.32 with userland tools available.

    2012 - The project is now supported by Ubuntu with Stephane Graber and Serge Hallyn on Ubuntu working on it. It was a pretty low profile project.

    2013 - LXC 1.0 stable is released with a lot of new and exciting features.

    2013 - Dotcloud was using LXC containers for their internal PAAS platfrom, and experimented with LXC's support for overlay filesystems like aufs and overlayfs.

    2013 - Based on this they released a tool called Docker. They manage to get a lot of funding and market themsevles aggressively to the devops community.

    2014 - Docker sees huge adotpion and with the 0.9 release drop their dependence on the LXC project and annnounce a new tool called libcontainer that will use cgroup and namaspaces in the kernel directly.

    2014 - Ubuntu finally wakes to the potential of their own supported LXC project and announces LXD which will use uinprivilreged containers by default and manage containers across LXC hosts

    2014 - CoreOS, a linux distribution based around systemd and deploying apps in Docker containers with multi host orchestration tools like etcd and fleet decides to make a competing container format to Docker. Apprently because Docker was going to step in to the multi host orchestration business itself. Of course containers being like VMs don't need any specific container oriented orchestration, and tools that work with bare-metal and VMs work with LXC containers, but if you intentionally make restricted container formats then you will need to create an ecosystem of tools that support your restricted format. So you can't use normal orchestration tools as you would with LXC but need to find a Docker way or CoreOS way of doing things. That sounds fun.

    1. Re: Needless confusion by Anonymous Coward · · Score: 0

      Well said. Docker is riding on someone else's technology with a few scripts, a marketing plan and some money. Yes they have good people but they are simply cool because of the lxc basis.

    2. Re:Needless confusion by g4sy · · Score: 1

      this. if one more dipshit tells me i should use docker instead of lxc, i'm going to try harder to find out what real value it adds. lxc already did all the heavy lifting. i pray to got that docker folding like a house of cards is the trigger that pops this bubble. there are honest ways to make money in open source, but this sure ain't it

      --
      somewhere, on a Big Red Sign:
      if(color==blue){speed--;}
    3. Re:Needless confusion by bmullan · · Score: 1

      There are many "container" architectures sprouting up. LXC, with last year's release of v1.x and introduction of "unprivilieged" containers, nested containers, overlayfs support & snapshots and now recently CRIU... is a great toolset.
      Recently Stephane Graber et al announced LXD (lex-dee) and Stephane put out the following email description of purpose:

      https://lists.linuxcontainers....

      The GitHub site has a directory for specifications which is a really interesting read because it covers things like "remote" contianer management.
      https://github.com/lxc/lxd/blo...

  17. "Docker Platform" by Ritz_Just_Ritz · · Score: 2

    I don't understand the need to inject all the platform bloat into Docker. Why not just fold docker functionality into an existing platform such as OpenStack to handle all those "extras" that are being contemplated? The work to integrate the two is already in progress:

    https://wiki.openstack.org/wik...

    Best,

    1. Re:"Docker Platform" by g4sy · · Score: 1

      did you just imply that openstack is a way to avoid bloat?

      --
      somewhere, on a Big Red Sign:
      if(color==blue){speed--;}
    2. Re:"Docker Platform" by Ritz_Just_Ritz · · Score: 1

      A way to avoid bloat in docker. :)

  18. Have we come full circle? by xanthos · · Score: 1

    I can't shake the feeling that I've seen this movie before, I think it was called "statically linked executables" where all the code needed to run the application resided in one place. Then as the executables got more complex they got much larger, consumed more resources, and large parts of each executable was redundant with each other. Hence static executables were superceded by "dynamically linked executables" which pulled out the redundancies into general purpose libraries that existed in only one place which led to dll version hell. So now we have containers which allows an application to be bundled up with just the code it needs to execute.

    And yes, containers have more capabilities than simply isolating the code. However I would argue that code isolation is the primary use of containers.

    I have a prediction, that by the end of 2015 we will see one of the container vendors offer a version that allows for "code sharing" between a master image and the individual containers in order to cut down on redundancy. Full Circle++.

    --
    Average Intelligence is a Scary Thing
    1. Re: Have we come full circle? by Anonymous Coward · · Score: 0

      DLL hell is mostly a Windows phenomenon because 1) Visual Studio released a new, incompatible runtime with each release and 2) Windows COFF implementation doesn't support symbol versioning. Unix systems using ELF don't have this problem, and in particular glibc uses versioned symbols (different from the high-level versioning of the library).

      Which isn't to say there aren't problems, but they're nothing like on Windows.

    2. Re: Have we come full circle? by Anonymous Coward · · Score: 0

      You don't use CPAN or ruby gems or Python modules much, do you?

    3. Re: Have we come full circle? by Anonymous Coward · · Score: 0

      Good point, which I realized shortly after posting. Languages like Ruby and even Java made the same mistakes that C and C++ long ago fixed.

      I principally develop in C, partly because I always disliked the way Java environments work.

      Personally I just don't get the whole containers thing. Debian Apt is an amazing thing. Using containers just seems like papering over problems that should be fixed. If one project relies on an outdated module, fix it. Otherwise you're simply begging for security issues down the broad. (And containers don't buy you any security over a simple chroot jail given the shared kernel.) This is why I've always said the best IT admins are programmers. When you can patch things properly then you don't have to rely on high-level hacks. Of course, even most programmers are too lazy to do this. But that's why the state of security is so abysmal--everybody keeps looking for the easy way out doing the hard grunt work.