ONEDock extends OpenNebula to use Docker containers as virtual machines. When OpenNebula requests a new virtual machine, ONEDock delivers a Docker container instead. ONEDock manages the lifecycle of the containers, such as creating, destroying, and migrating them, similar to how OpenNebula manages virtual machines. ONEDock addresses challenges in mapping Docker concepts like containers and images to the concepts of long-lasting virtual machines used in OpenNebula.