vmexec-run(1) General Commands Manual vmexec-run(1)

vmexec-run - Run a command in a new virtual machine

vmexec run [-d|--detach] [--rm] [--disable-kvm] [-e|--env] [-v|--volume] [--pmem] [-p|--publish] [-s|--ssh-timeout] [-i|--interactive] [-t|--tty] [--show-vm-window] [--pull] [-h|--help] <IMAGE_SOURCE> [ARGS]

Run a command in a new virtual machine

Run virtual machine in background and print virtual machine ID
Remove virtual machine run time data after exit
Run virtual machine with TCG instead of KVM

This would be mostly useful in environments where KVM is not available. It will be a lot slower but might be acceptable in some contexts.

Set environment variables for the process inside the virtual machine

Can be provided multiple times.

Expected format: KEY=VALUE

Bind mount a volume into the virtual machine

Can be provided multiple times.

Expected format: source:dest[:ro]

`ro` can optionally be provided to mark the mount as read-only.

Example: $PWD/src:/mnt:ro

Mount a virtio-pmem device file into the virtual machine

You might want to do this to bypass the guest page cache. This is important if you're overprovisioning your host (i.e. giving VMs more combined memory than the host actually has) and have a write-heavy workload. For more info, see: https://www.qemu.org/docs/master/system/devices/virtio-pmem.html

Can be provided multiple times.

Size is in gigabytes.

Expected format: dest:<size>

Example: /var/lib:20

Publish a port on the virtual machine to the host

Can be provided multiple times.

Expected format: [[hostip:][hostport]:]vmport

`hostip` is optional and if not provided, the port will be bound on all host IPs.

`hostport` is optional and if not provided, the same value of `vmport` will be used for the host port.

Currently only IPv4 is supported for `hostip`.

SSH connection timeout

Try for this long (in seconds) to connect to the virtual machine's SSH server.

Make STDIN available to the virtual machine's process

If 'auto', this will try to read from stdin if it is available, and do nothing when stdin is not available. If 'always', this will try to read from stdin and abort when stdin is not available.

[possible values: always, never, auto]

Allocate a pseudo-TTY for the virtual machine

If 'auto', this will be enabled in case vmexec is run from an interactive terminal.

[possible values: always, never, auto]

Show a window with the virtual machine running in it

This is mostly useful for debugging boot failures.

When to pull a new image

[possible values: missing, never, newer]

Print help (see a summary with '-h')
<IMAGE_SOURCE>
Either an operating system (e.g. archlinux) or a path to an image

Possible OS types: archlinux

[ARGS]
Arguments to run in the virtual machine
run