Skip to content
/ crun-vm Public
forked from containers/crun-vm

An OCI Runtime that enables Podman, Docker, and Kubernetes to run VM images.

License

Notifications You must be signed in to change notification settings

lsm5/crun-vm

 
 

Repository files navigation

The crun-vm OCI Runtime

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.

Major features

  • 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.

Documentation

  1. Installing crun-vm
  2. Using crun-vm as a Podman or Docker runtime
  3. Using crun-vm as a Kubernetes runtime
  4. Internals

License

This project is released under the GPL 2.0 (or later) license. See LICENSE.

About

An OCI Runtime that enables Podman, Docker, and Kubernetes to run VM images.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 92.6%
  • Shell 7.4%