You know the main projects in the Docker ecosystem—Moby, Kubernetes, Containerd and the link. But there’s a lot more to the Docker ecosystem than just this. Here’s a look at five open-source projects that are doing cool things with Docker technology.
The projects include:
- RancherVM. If you use Docker, you are probably familiar with Rancher, a major containers-as-service vendor. One of Rancher’s lesser-known projects is a tool called RancherVM. It lets you run a virtual machine inside a Docker container. Currently, it only supports KVM images.
- Dockercraft. Did you ever wake up and say, “I wish there were a way to manage Docker containers from inside Minecraft”? You probably have not. But just in case you ever do, Dockercraft makes this possible to do.
- Docker-Wine. One of the big drawbacks of Docker contains as compared to virtual machines is that Dockerized apps are not cross-platform. You can’t run a Docker Linux app on Windows or vice-versa—at least not natively. With Docker-Wine, however, running Windows apps on Linux using Docker is possible. Docker-Wine uses the Wine compatibility layer to support Windows app on Linux. (There’s no support for Linux apps on Windows, as that would be a whole different can of worms.)
- KubeVirt. The Kubernetes orchestrator was designed from the start to manage containers, not other types of infrastructure. But there’s nothing stopping you from using Kubernetes to orchestrate virtual machine clusters. That’s what KubeVirt does by adding some extra functionality to Kubernetes to allow it to support virtual machines.
- Container Migration Tool (CMT). Docker containers are portable in the sense that they can run on any type of host with Docker installed. But the functionality required to move running containers from one cluster to another over the network is not built into Docker. CMT, a tool developed for Docker Global HackDay #3 in 2015, shows that performing such migration is possible. CMT is not a production-ready tool, but it’s an interesting proof-of-concept.
Some of these projects provide useful functionality that is ready to use today. Others are interesting experiments that need more development in order to be production-ready. At least one (Dockercraft) will probably never be used for a serious purpose.
But all of these projects are proof of the diversity of interesting things you can do with Docker. That’s what makes Docker so cool.