vmkit

command module
v0.0.0-...-8582de0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2023 License: GPL-3.0 Imports: 3 Imported by: 0

README

VMKit

Spin up Linux VMs with QEMU.

Docker running on ARM64 Virtual Machine In the above image: Docker running on ARM64 Ubuntu Virtual Machine.

Requirements

  • Linux, macOS or Windows (needs testing) host OS.
  • QEMU installed and available in the image, you can install it with homebrew or your package manager of choice. VMKit uses qemu-img binary, qemu-system-aarch64 binary on ARM64 and qemu-system-x86_64 binary on AMD64.

Getting started

Install VMKit

The only way for now is to have a working Go environment and install VMKit by running this command:

go install github.com/alessiodionisi/vmkit@latest
Create your first vitual machine

Create a Debian 12 (Bookworm) virtual machine with 4 CPUs, 4096 mebibytes of ram and 20 GB of disk by running this command:

vmkit run debian12 -i debian:bookworm -c 4 -m 4096 -d 20
Run a command in the virtual machine

Run uname -a inside the virtual machine by running this command:

vmkit exec debian12 -- uname -a
Connect to the virtual machine via SSH

You can get SSH parameters by running this command:

vmkit ssh debian12

On Unix systems you can quickly connect via SSH by running this command:

$(vmkit ssh debian12 --command)

Commands

Create a virtual machines (vmkit run)

With vmkit run you can create and start a new virtual machine.

VMKit will automatically create a pair of SSH keys and configure the chosen system via cloud-init. If not specified, a forward to guest port 22 will be created using a free port. This will be used to access the virtual machine via SSH.

Example:

vmkit run debian12 -i debian:bookworm -c 4 -m 4096 -d 20

Available options:

  • -c, --cpu number of cpu(s) (example: -c 4)
  • -d, --disk-size disk size in gigabytes (GB) (example: -d 20)
  • -i, --image image to use (example: -i debian:bookworm)
  • -m, --memory ram in mebibytes (MiB) (example: -m 4096)
  • -p, --port-forward forward host port to the virtual machine (example: -p 8080-80, -p [host]-[guest])
Remove a virtual machine (vmkit remove|rm)

With vmkit remove or vmkit rm you can remove a virtual machine.

Example:

vmkit remove debian12
Start a virtual machine (vmkit start)

With vmkit start you can start a virtual machine.

Example:

vmkit start debian12
Stop a virtual machine (vmkit stop)

With vmkit stop you can stop a virtual machine.

Example:

vmkit stop debian12

Contributing

Requirements
  • Go installed and available in the system.
  • Task installed and available in the system.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL