8 ms·
You mean Lxc and kernel namespaces is the best thing to happen to software in the last 20 years?
by streetcat1 7y ago
You mean Lxc and kernel namespaces is the best thing to happen to software in the last 20 years?
- tombert 7y agoThat's not entirely fair. Yes, LXC/OpenVZ is cool and does some awesome container stuff, but part of what makes docker so neat is more than just containerization. Everything is "stateless"; you can reproduce environments exactly across machines with dockerfiles and as such it lends itself well for local development, but also distributed deployment (such as docker swarm).
- streetcat1 7y agoYes. But I guess in 5 years or less there will be another runtime (especially now that the company is basically dissolved), while namespaces, etc will stay.
- tombert 7y agoI don't know that that's true; Google and Microsoft seem to have really started betting on Docker and, for better or for worse, they are big trend-setting companies, so I suspect it's more likely that one of them would purchase it and continue working on it before it just goes away.
- tssva 7y agoGoogle and Microsoft have really started betting on containerization. Neither has really started betting on Docker.
- tracker1 7y agoConsidering Google, Azure, AWS, DO, IBM and others all have cloud offerings centered around Kubernetes with Docker compatible containers, even if some of the tooling changes, I don't expect that "Docker" will really go anywhere. I would be surprised if the next step doesn't have it swallowed by one of the above companies (probably not DO though). Even for AWS Lambda, I use docker to build linux lambda packages on non-linux environments (docker for windows/mac). The easiest way to get a service up in Elastic Beanstalk is with a Dockerfile. Even if Docker (organization) does die, Docker (open source tooling) will live on for a very long time. And although I do like where podman and others are coming from, I don't think that it will displace docker in the long run.
- zzyzxd 7y ago> Google and Microsoft seem to have really started betting on Docker I still remember the days when I learned docker for the first time and everything worked like magic. And I appreciate Docker for that. However, I am not so sure if Google/Microsoft developers are happy with Docker nowadays. It was the best container runtime 3 years ago, but today I have much more pleasant experience with other runtimes like cri-o. I would say, the added abstraction layer of container runtime interface in Kubernetes is a sign, that they want to explore better solutions to replace docker.
- keoeoj83 7y agoBoot2Kube Linux distros will be the norm One of the daemonless tools out there now or some interface specifically for Kube will exist as a dependency
- imtringued 7y agoDocker is more than just a runtime.
- takeda 7y agoDockerfile provides as much reproducible environment as bash shell script. This is why I have beef with docker, it was marketed to solve multiple things, but ultimately it becomes over-glorified zip file. It absolutely fails in reproducibility and I constantly see scenarios where Dockerfile that worked one day broke another day, or it worked on one machine and broke on another and so on. Yes, you can put extra effort and make your dockerfile reproducible, but similarly you can make a reproducible bash script.
- rhinoceraptor 7y agoDefinitely not, IMO linux "containers" succeeded in spite of their shortcomings (as compared to jails/zones). What Docker did is make a great application packaging tool, and the fact that it uses cgroups/namespaces underneath is irrelevant for 99% of users, because they're deploying containers in VMs.
- erik_seaberg 7y agoDocker got popular because a lot of devs gave up on packaging (and declared dependencies and shared libraries) and instead want jails (and isolation and static linking). Now it's self-perpetuating, because it's very easy to put packages into containers but it's hard to package containerized software for use in an ordinary unified namespace (no container).
- rumanator 7y agoPackaging and jails are simply the means to an end: distribute and run applications. Docker became popular because it provides an abstraction that simply (and elegantly) eliminates the problem of distributing and running server applications.
- AnIdiotOnTheNet 7y agoThey gave up on packaging because its a nightmare that never ends. Conflicts, missing dependencies, old versions or no version available for your distro because of course there isn't just one package format. Docker is still an over-engineered solution to this problem, but its popularity is evidence that there is in fact a problem.
- elsonrodriguez 7y agoYep, the question was "package it as what?", and the answer was rarely ever "a statically linked linux executable." This created the need for piles of configuration management or machine build scripts to deploy the app.
- tlrobinson 7y agoIt turns out developer experience matters. Docker (the software, not the company) and Stripe are two of the best recent examples of that.
- rhacker 7y agoThis is a tired argument compared to what Docker introduced. Should we not commend Apple for the iPhone because the rotary phone was invented years before?
- icedchai 7y agoDon't forget about chroot. That's been around since the 70's...
- meddlepal 7y agoLet me know when LXC and kernel namespaces are portable across Windows and macOS and I can use the same interface between all three with my coworkers. You're being purposefully obtuse for snark points.
- streetcat1 7y agoRight. This is why they use a VM on other platforms. In general, I always try to give the contrarian opinion as it causes an interesting discussion between the community members. Also, there are some young members here, that might not realize that what we see as "innovation" might happened before (multiple times). The truth is actually in the middle. I could care less about the points.
- jjeaff 7y agoThat's why when someone says "the Tesla model S is a game changing innovation!" I say "you mean, electric motors and batteries are a great innovation!"
- bsaul 7y agoInnovation doesn’t have to be 100% hard tech. Tesla built a product using a mix of existing technologies and improved ones, great product design and great marketing, and together all of that changed the industry. The innovation is the whole package. Docker had the right mix of existing tech, good packaging, great user interface, and good marketing. And together that made a product that made developers do new things in practice, and it changed the industry. I think it is important to remind people that in order to disrupt an industry with a new thing, you need the whole package. Not just a good tech.
- jjeaff 7y agoMy comment was sarcasm.
- deleted 7y ago[deleted]
- jillesvangurp 7y agoNo I don't think he meant that. I know countless numbers of users that are familiar with the Docker cli and exactly 0 of them that know how to manipulate kernel namespaces, cgroups, lxc, etc. manually. Not a thing in the developer community. Docker is what makes that stuff useful and usable. As low level primitives they are fine but they'd never be used that widely without something like Docker. Clearly they depend on each other but they are not the same thing. Also there's more to Docker than just that. E.g. the layered filesystem is hugely important.