3 ms·
This is a transcript of a keynote I just gave at Dockercon. But the keynote had in-depth demos and the blog post doesn't. It will make more sense with the demos
by shykes 10y ago
This is a transcript of a keynote I just gave at Dockercon. But the keynote had in-depth demos and the blog post doesn't. It will make more sense with the demos.
I will try to summarize: when we build Docker for Mac, Docker for Windows, Docker for AWS etc, we assemble a lot of individual components into a complete platform. Then we pack that platform into a bootable artifact for the target environment. That's a lot of work, and it gets harder as the number of targets multiply. We developed a framework to make this more efficient. That framework has become the de-facto upstream of the Docker platform - it sits between the individual upstream projects and the finished product. So we're open-sourcing it as Moby, moving all of our open-source process under it, and inviting the community to come play. Think of it as the "Fedora of Docker".
Here's more technical details from the readme: https://github.com/moby/moby/blob/moby/README.md https://github.com/moby/moby/blob/moby/README.md
TLDR:
- If you're a Docker user, nothing changes: Docker remains the same
- If you're a Docker open-source contributor, you're now a Moby contributor. Everything is basically the same, except more modular and more open, and you are less tied to Docker.
- If you're building non-Docker container platforms, it's easier to share components and ideas with the Docker community, without being forced into anything you don't like.
The Moby tooling itself is pretty neat: you define all the components in your system (including the OS and hypervisor, if required), then pack them into the artifact of your choice. For example you can assemble LinuxKit+ContainerD+Redis into a tiny "RedisOS", and then boot it straight from bare metal; or virtualize it with HyperKit and run it on a Mac; or virtualize it with HyperV and run it on Windows. Moby does all of this for you automatically (this is one of the keynote demos).
We also showed a "Kubernetes in a box" assembly, to show that you don't have to stick to Docker-built components.
- tjfontaine 10y agoHere's a different reason (jbergstroem also alludes to [1]) why Docker (the company) would rename Docker (the open source project) to a name that cannot be confused with Docker (the product): Trademark (Enforcement). How do you (a for profit company built on open source) enable your community, to build and sell (their own) products, as well as enforce your trademark? If anyone (everyone?) can build and distribute and call their build `docker`, it becomes really hard to protect your investment (as a company and their fiduciary responsibility to their stock holders) from dilution of TheBrand(tm). This is not cynicism and I don't fault Docker (the company) at all, it's just the reality of doing business. It's why Canonical requires a contractual relationship for infrastructure clouds to distribute Ubuntu images, it's why you have things like Firefox and IceWeasel, so on and so forth. https://news.ycombinator.com/item?id=14140543 https://news.ycombinator.com/item?id=14140543
- dandandan 10y agoIt's also an easy way to acquire more paying users. "Docker" has the name recognition now, if someone wants to adopt it after hearing about it they're likely to choose the paid product.
- thibauld_ 10y agoNice move imho ! Moby will be to Docker what Fedora is to Red Hat.
- crb 10y agoWill I eventually be able to 'moby build' a directory with an 'OCIfile'?
- jacques_chester 10y agoIf I am reading you correctly, this is somewhat like Packer?
- jacques_chester 10y agoOn further reading, it's clear I was not reading correctly.
- dkarapetyan 10y agoSounds like the folks from MirageOS have been hard at work.