crun-vm is an experimental OCI Runtime that enables Podman, Docker, and Kubernetes to run QEMU-compatible Virtual Machine (VM) images. The objective is to make running VMs (in simple configurations) as easy as running containers, using standard container tooling and without the need for in-depth knowledge on virtualization technologies like libvirt or KubeVirt.
- Use it with Podman, Docker, or Kubernetes.
- Launch VMs from VM image files present on the host or packaged into container images.
- Control VM CPU and memory allocation.
- Provide cloud-init and Ignition configurations to VMs.
- Mount directories into VMs.
- Pass block devices through to VMs.
- Expose qcow2 files and other disk images to VMs as block devices.
- Pass vfio-pci and mediated vfio-pci devices through to VMs.
- Forward ports from the host to VMs.
podman exec
/docker exec
/kubectl exec
into VMs.
- Installing crun-vm
- Using crun-vm as a Podman or Docker runtime
- Using crun-vm as a Kubernetes runtime
- Internals
This project is released under the GPL 2.0 (or later) license. See LICENSE.