8 ms·
Are you shitting me? Docker is a horrible little Go binary that doesn't even clean up after itself properly when you CTRL+C it. It's barely documented, it does
by hosay123 13y ago
Are you shitting me? Docker is a horrible little Go binary that doesn't even clean up after itself properly when you CTRL+C it. It's barely documented, it does barely anything except some macro combinations of tar+wget+lxc with a schmoozy web site on top.
Who is pushing this thing? Why does anyone even care about it? Does anyone even know what a Linux container is?
- tsmith 13y ago> Does anyone even know what a Linux container is? Judging by the number of times "when will Docker support Windows containers?" has been asked... no.
- julien421 13y agoWindows is not quite there yet but... who knows :) - Process isolation: http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx - Network isolation: http://msdn.microsoft.com/en-us/library/windows/apps/hh770532.aspx http://msdn.microsoft.com/en-us/library/windows/apps/hh77053... - Disks: -- Mounting volumes: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365733(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa36... -- NTFS provides something like copy-on-write (part of a union file system) via "Single Instance Storage" http://en.wikipedia.org/wiki/NTFS http://en.wikipedia.org/wiki/NTFS , http://www.neowin.net/news/microsoft-details-how-windows-8-will-handle-large-hard-disk-drives http://www.neowin.net/news/microsoft-details-how-windows-8-w... -- VHD "differencing disks": http://msdn.microsoft.com/en-us/magazine/dd569754.aspx http://msdn.microsoft.com/en-us/magazine/dd569754.aspx, http://technet.microsoft.com/en-us/library/cc720381(v=ws.10).aspx http://technet.microsoft.com/en-us/library/cc720381(v=ws.10)... ...or just use colinux: http://www.colinux.org/ http://www.colinux.org/ "that allows it to run cooperatively alongside another operating system on a single machine. For instance, it allows one to freely run Linux on Windows 2000/XP/Vista/7, without using a commercial PC virtualization software such as VMware, in a way which is much more optimal than using any general purpose PC virtualization software. In its current condition, it allows us to run the KNOPPIX Japanese Edition on Windows."
- druiid 13y agoWell, I imagine given the current love of Docker on this site you're going to be down-voted with a quickness, but from what I've seen and done with it so far I really don't see the great benefit of it over standard LXC. Essentially it's a neat wrapper and has some cool API features, but I don't see the benefit beyond that. Honestly if I was/am going to hitch my cart to LXC I'd probably be going the libvirt-lxc route so I'd be dealing with something of an actual standard. Edit: I suppose one reason people might prefer Docker over libvirt would be no XML blegh, but it's honestly not that bad.
- hosay123 13y agoIt seems like the core of Docker is little more than a helper script that should be part of libvirt or LXC proper (which btw, already has a system for building containers from a template), but that would involve less horn-blowing and web design than it would submitting boring, well-tested old patches upstream.
- justinsb 13y agoDotCloud have done a wonderful job of popularizing the idea of LXC containers with Docker. I think the idea of LXC containers as software-distribution mechanism is a great one, and I credit Docker with getting that idea into my mind. It is great to see that many of Docker's ideas are being implemented upstream; e.g. LXC added support for BtrFS snapshots shortly after Docker launched. Sounds like OpenShift is considering which Docker ideas belong in their platform. It can sometimes be hard to work with upstream projects, who often have a different world-view. I do like the idea of releasing a "sacrificial lamb" project that is a demonstration of your ideas, even if long-term all the ideas belong upstream (i.e. LXC in the case of Docker).
- shykes 13y agoI think jQuery is a good analogy. One day jquery might be unnecessary, when all browsers everywhere implement all the high-level API goodness. In the meantime... :)
- justinsb 13y agoI think you could adjust your tone to be more HN-suitable, but I don't think this is worth getting upset about: it sounds like Docker made a lot more changes than did OpenShift. It's good positioning by DotCloud, but it's not likely to have any real consequences IMHO. Kudos to the dotCloud guys for being willing to drop docker's weirder dependencies (e.g. AUFS)
- druiid 13y agoEh, AUFS isn't that odd these days. I built a chroot build utility for an open-source project on the back of it and it's super easy to work with. Haven't dealt with it in a couple of years, but I can't imagine it somehow got all kinds of crazy difficult to deal with or implement.
- justinsb 13y agoMy understanding is that it's been unable to get into the Linux kernel because it's unstable? I agree it's a great tool if it works :-)
- shykes 13y agoDocker maintainer here. I love aufs, it's been awesome for us at dotCloud. It is definitely stable in production (at least it has been for us). I really really wish we didn't have to remove it as the default. And I don't really know why it's not being merged, exactly. I sure there are good reasons but they are not immediately obvious to mere mortals like me. In any case, aufs will come back as an optional storage backend in a future version. It still has a few advantages over device-mapper - increased memory sharing for example. Just my 2c.
- justinsb 13y agoInteresting! What was the response when you tried to get it merged into the kernel?
- 13y ago
- DannoHung 13y agoWhat is a package manager except a macro combination of tar+wget+a dependency graph?
- deleted 13y ago[deleted]
- shykes 13y agoDocker maintainer here. This is a common misconception, and I find it disappointing. On the one hand we glorify simple designs and the unix philosophy of doing one thing well... Only to trivialize and look down upon projects which apply this philosophy. It's so simple... it's not "real technology"!. No wonder so many projects are so complicated - that's how you prove to your peers that you're a real man! Now to address the initial comment: docker has different goals from lxc. There's a summary of the differences here: http://stackoverflow.com/questions/17989306/what-does-docker-add-to-just-plain-lxc http://stackoverflow.com/questions/17989306/what-does-docker...
- staunch 13y agoI deleted my comment before you replied, because while I tried not to made it rude, I decided there's no reason to add another negative voice to this thread. The fact is that Docker is very useful, but it really is simplistic from a technical perspective. It's a front-end that leverages the very impressive and very hard work done to create Linux, LXC, Aufs, etc. Those guys deserve 98% of the credit that Docker is getting, which I admit does irritate me to some degree. Yes, Docker is a high level abstraction that could use OpenVZ or something else, but if it used OpenVZ I'd just say that the OpenVZ guys deserve most of the credit -- having done most of the hard work. Docker is the kind of thing that companies create internally all the time, the way you did at dotCloud. It's very neat that you open sourced it, and that it has brought attention to another way of doing application deployment, but that doesn't make it a revolutionary technology.
- derefr 13y ago
- justrudd 13y agoThis is not the best analogy, but I liken Docker to a high level language. I am not one of those hackers that started programming when I was a fetus, nor did I write my own LISP before I could walk. I started off with Basic in the early 90s (at the ripe old age of 17). I got frustrated with some speed and moved to C. I got frustrated again and moved to Assembly (as an aside I then did my first network enabled program and realized I could write in Basic and it would still be fast enough). How does this relate to Docker? I knew nothing about containers and was first introduced to them by Docker. So I started off using Docker seeing what I could do with it. When I got frustrated, I started looking at the core components of Docker which lead me to lxc. So yeah - it has bugs. But it is opening up a "whole new world" to some people.
- derefr 13y ago> I liken Docker to a high level language I like this: Using LXC directly is like using a (pointer, length) struct in C. Using Docker is like using an array-slice in Go. They're not that far apart, but they're on different levels of abstraction, and come with different guarantees (even if those guarantees might not, in practice, be enforced yet.)
- jt2190 13y agoThere was a time that you could have said that github was just "a schmoozy web site on top" of git.
- antocv 13y agoIt still is. ;)
- dominotw 13y agoRedhat trying to ride docker hype I guess
- shykes 13y agoHi there, > Docker [...] doesn't [...] clean up after itself properly when you CTRL+C it. Sorry about that. It looks like nobody reported this issue yet. Would you mind filing a bug report on the github repo? Feel free to join the #docker channel on Freenode and we'll be happy to help you out. > Does anyone even know what a Linux container is? Yes.