DEV Community

loading...

Can we build Micro VMs with Dockerfile? : Answer is Yes !!!

manish srivastava
Director & CEO, GDP CHURN (P) Ltd. Loves coding . Supports open source by funding.
・1 min read

Answer is : ####Slim
Slim will build a micro-vm from a Dockerfile. Slim works by building and extracting a rootfs from a Dockerfile, and then merging that filesystem with a small minimal kernel that runs in RAM.

This results in a real VM that can boot instantly, while using very limited resources. If done properly, slim can allow you to design and build immutable unikernels for running services, or build tiny and embedded development environments.

Slim currently supports Virtualbox, KVM, and hyperkit (MacOS only) as providers for running VMs. Slim will discover all available providers, defaulting to virtualbox, if more than one provider is available. The -p flag can be used to force Slim to use a specific provider.

You can find repo here

GitHub logo ottomatica / slim

Build and run tiny vms from Dockerfiles. Small and sleek.

slim | Build Status dependencies Status

slim will build a micro-vm from a Dockerfile. Slim works by building and extracting a rootfs from a Dockerfile, and then merging that filesystem with a small minimal kernel that runs in RAM.

This results in a real VM that can boot instantly, while using very limited resources. If done properly, slim can allow you to design and build immutable unikernels for running services, or build tiny and embedded development environments.

Using slim

Build a micro-vm

Create a micro-vm from a Dockerfile. Use build command with a directory containing a Dockerfile.

$ slim build images/alpine3.8-simple

build

This will add a bootable iso in the slim registry. See example Dockerfile.

slim build will use your default provider unless the -p flag is specified (ie -p hyperkit).

Listing micro-vm images

See a list of micro-vm images on your machine.

$ slim images

images command

Running a micro-vm

Provision a new instance…

Click here for joining my team

Discussion (0)