Show HN: Bocker – Docker implemented in 100 lines of bash
21–30 of 89 posts
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#22Now we need bokku: https://github.com/progrium/dokku
(I am one the maintainers of dokku, which is written in bash).
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#23Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#24Holy crap! I've been keeping up with the hype, yet having never used Docker and never needed it yet I can't help but become more skeptical now that I know that it's features aren't more complex than a little bit of bash. People give bash a hard time, but things like this really give me that warm, fuzzy feeling. esac4lyfe
Why would it need to be more complex than "a little bit of bash" if it fulfils the task intended? Surely that is better than a convoluted, 1,000,000,000 LoC application that no one outside a handful of core developers understands? Right?
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#25Earlier quoted context omitted.
Yes. The basic technology has been there for a while. And the Docker source code has some eyebrow-raising parts to it. However, I've stated this in other threads: Docker isn't about containment. It's really about the packaging system. I don't think this technology demo gets that.
I agree 100%. While the tech in Docker is great, it alone can't be easily monetized. The real value comes from things like DockerHub, and getting people to buy into the whole ecosystem.
(1) Open standards (and I'm hearing things moving in that direction)
(2) Content-addressability, so that images can be stored on IPFS.
Point (2) really plays the "packaging" rather than the "containment" aspect. I'm not really thinking about Docker Hub or any proprietary services like that.There's a project put out by Chef (formerly Opscode) called Omnibus. It allows you to build a monolithic the package, complete with all the library dependencies and such. Chef Server is distributed with that monolithic omnibus. What had happened was that various library dependencies would cause problems with the various systems that needed to come together. It was easier to specify the precise version of the components needed. (But it also put the onus of security fixes on Chef).
That is the real problem that Docker solves. Packaging. It enables a kind of shift in thinking that's difficult to put into words. People say "light-weight containers' or whatever, but none of that really nails the conceptual shift that Docker enables. In about five years, it'll become obvious the way 'cloud' is obvious now, and non-obvious back in 2005.
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#26Earlier quoted context omitted.
I agree 100%. While the tech in Docker is great, it alone can't be easily monetized. The real value comes from things like DockerHub, and getting people to buy into the whole ecosystem.
Which is probably why people were concerned about Docker's expansion into the clustering and orchestration markets, even if from a business perspective those are their only real holdouts to avoid commodification. The base Docker is easy to replace if the project goes out of hand, the services around it are trickier.
And to be fair, I suspect the Docker folks were thinking less about clustering and orchestration so much as: (1) clustering and orchestration still sucks; (2) people want as good of an experience using docker as they do when spanning across multiple nodes; (3) let's make clustering and orchestration less sucky and use the 'Docker Way'[1]
[1] 'Docker Way' is a pointer to the fuzzy, difficult-to-verbalize thing that Docker enables, namely in packaging.
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#27Earlier quoted context omitted.
Thank you. One of the things I found really interesting here is how much could be done with just basic userland tools, and how old some of those tools are. Docker was released in 2013, but support for kernel namespacing has been around since ~2007. That's quite a long time for such a great feature to go mainstream.
Yes. The basic technology has been there for a while. And the Docker source code has some eyebrow-raising parts to it. However, I've stated this in other threads: Docker isn't about containment. It's really about the packaging system. I don't think this technology demo gets that.
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#28Earlier quoted context omitted.
Yes. The basic technology has been there for a while. And the Docker source code has some eyebrow-raising parts to it. However, I've stated this in other threads: Docker isn't about containment. It's really about the packaging system. I don't think this technology demo gets that.
If Docker is about packaging, then it's one of the worst package management systems I've ever used. I use Docker for the abstraction over namespaces and cgroups mainly, and get frustrated with the layers of disk images, bad caching system, poor security story, and the weak Dockerfile DSL.
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#29Earlier quoted context omitted.
Which is probably why people were concerned about Docker's expansion into the clustering and orchestration markets, even if from a business perspective those are their only real holdouts to avoid commodification. The base Docker is easy to replace if the project goes out of hand, the services around it are trickier.
There are several tech streams converging there. A bigger chunk is the space that Mesos and Kubernetes occupy. And to be fair, I suspect the Docker folks were thinking less about clustering and orchestration so much as: (1) clustering and orchestration still sucks; (2) people want as good of an experience using docker as they do when spanning across multiple nodes; (3) let's make clustering and orchestration less suc…
I don't see that changing until we get proper single-system imaging, location transparency, process and IPC migration, process checkpointing and RPC-based servers for representing network and local resources as objects (be they file-based or other) in our mainstream systems.
These things only really caught on in the HPC and scientific computing spaces, where you've had distributed task managers and workload balancers like HTCondor and MOSIX for decades. They've also been research interests in systems like Amoeba and Sprite, but sans that, not much.
The likes of Mesos, the Mesosphere ecosystem with Marathon and Chronos, and Docker Swarm bring only the primitive parts of the whole picture. Some other stuff they can half-ass by (ab)using file system features like subvolumes, but overall I don't see them improving on all the suck.
Re: Show HN: Bocker – Docker implemented in 100 lines of bash
#30Earlier quoted context omitted.
I agree 100%. While the tech in Docker is great, it alone can't be easily monetized. The real value comes from things like DockerHub, and getting people to buy into the whole ecosystem.
Two of the things I'd love to see is having the image format be: (1) Open standards (and I'm hearing things moving in that direction) (2) Content-addressability, so that images can be stored on IPFS. Point (2) really plays the "packaging" rather than the "containment" aspect. I'm not really thinking about Docker Hub or any proprietary services like that. There's a project put out by Chef (formerly Opscode) called Omn…
You say that Docker solves this problem, but it doesn't really. Sure, it creates isolated runtime environments that avoid the clashes you described, but it only further obscures the problem of system-wide deduplication of dependencies. The real solution here is better package managers, such as GNU Guix, that can easily handle multiple programs on the same machine that require different versions of the same dependencies whilst also deduplicating common files system-wide. Once such a foundation is in place, a container system no longer needs to deal with disk images, it can just bind-mount the needed software builds from the host into the container thereby deduplicating files across all containers, too.
Omnibus and Docker are papering over problems, not solving them.