Docker wants to help systems developers do a little thinking outside the box — er, container.
Docker wants to take containers to the next level. Well, "next level" might not be quite right, maybe the next multitude of levels would be more appropriate, as container use spreads from the cloud and datacenter into areas like IoT and the desktop. Suffice it to say, the Docker whale is happy to swim into these relatively uncharted waters. And they're going to do so in a way particularly fitting for an open source company: by enlisting participation from the community.
That seems to be the purpose behind Moby Project, announced at DockerCon 2017, which is running through Thursday in Austin, Texas. Another effort announced at the conference, a toolkit for assembling custom Linux subsystems, called LinuxKit, is getting more press attention right now, but in the long run, Moby might prove to be more interesting.
It's easy to talk about community building, but more difficult to actually do it. Moby Project is an enticement, as it will offer a point around which a community of system developers can gather.
"The Moby Project is a new open-source project to advance the software containerization movement and help the ecosystem take containers mainstream," Dockers founder, Solomon Hykes, said. "It provides a library of components, a framework for assembling them into custom container-based systems and a place for all container enthusiasts to experiment and exchange ideas."
The concept is simple, and utilizes the open source concept of sharing resources as an efficiency, so that developers aren't constantly duplicating efforts. "It provides a 'Lego set' of dozens of components, a framework for assembling them into custom container-based systems, and a place for all container enthusiasts to experiment and exchange ideas. Think of Moby as the 'Lego Club' of container systems."
Moby provides a framework to assemble specialized container systems and includes three major components:
- A library of containerized backend components for all aspects of a container system, including OS, container runtime, orchestration, infrastructure management, networking, storage, security, build, image distribution and more.
- A framework for assembling components into a standalone container platform, and tooling to build, test and deploy artifacts for these assemblies. Tools are available for a variety of platforms (Linux, Mac and Windows) and for both x86 and Arm architectures. Also available: VM images for popular cloud and virtualization providers.
- The Moby Origin reference assembly, which is the base for the Docker container platform, as well as examples that "can be used as-is, modified, or used as inspiration to create your own."
"Moby is designed for system builders, who want to build their own container based systems, not for application developers, who can use Docker or other container platforms," Hykes explained. "Participants in the Moby project can choose from the library of components derived from Docker or they can elect to 'bring your own components' (BYOC) packaged as containers with the option to mix and match among all of the components to create a customized container system."
Again, Docker intends for the Moby Project to be a focusing point for collaboration that includes both developers from within Docker and from its users.
"Docker uses the Moby Project as an open R&D lab, to experiment, develop new components, and collaborate with the ecosystem on the future of container technology," he said. "All our open source collaboration will move to the Moby project."
Ready-to-run example assemblies are available in the LinuxKit GitHub repository.