Skip to content

You are viewing documentation for Instruqt 2.0 Labs - our upcoming product releasing in September 2026. For current Tracks documentation, please visitdocs.instruqt.com.

Virtual Machine


A Virtual Machine resource lets you create and configure VM-based compute for a lab sandbox. Use a VM when your lab needs a full operating system environment, OS-level services, package installation, system configuration, or workloads that do not fit a container-only model.

Through the UI, you can define the VM image, resources, startup script, environment variables, networking, ports, disks, volumes, and health checks without writing configuration files. You can also connect VMs to sandbox networks and use them as targets for terminal and service tabs.

VMs are useful for labs that need stronger OS isolation or a closer match to real infrastructure while still using the same sandbox workflow as containers and networks.

Virtual Machine resources can be created in the Sandbox tab. To create a new Virtual Machine resource, navigate to the Sandbox tab and click the + button. Select Virtual Machine from the dropdown menu.

Create a new virtual machine resource

Start by naming the VM. This name is internal and becomes the VM hostname at runtime. The form shows the computed hostname so you can see how other sandbox resources can reach the VM.

Choose an image from the preset list or enter your own public or private image. For private images, add the registry username and password fields in the Image section.

Select a preset for the VM

To edit a Virtual Machine resource, select it from the list of existing sandbox resources in the Sandbox tab. Click the VM you want to edit, make your changes in the configuration panel, and then click Add changes to save your updates.

The Virtual Machine form is organized into collapsible sections. The Image and Resources sections are expanded by default. All other sections are collapsed and can be expanded by clicking on them.

Field Required? Default Description
Image VM image to boot
Username Optional username for pulling a private image
Password Optional password or token for pulling a private image
Field Required? Default Description
Memory 2048 Memory allocated to the VM in MB
CPU 2000 CPU allocation for the VM
Field Required? Default Description
Startup Script Script that runs once when the VM boots
Field Required? Default Description
Environment Variables Key-value pairs exported into the VM environment
Field Required? Default Description
DNS Server Optional DNS server IP address used by the VM
Field Required? Default Description
Network Existing network resource to attach to the VM
IP Address Optional static IP address in the selected network
Name Optional name for this VM network attachment
Aliases Optional DNS aliases for the VM on the selected network
Field Required? Default Description
Local Port the app listens on inside the VM
Host Optional host port to bind
Protocol tcp Protocol type: TCP or UDP
Field Required? Default Description
Range Consecutive port range to expose, for example 3000-3010
Enable host false Map the range to host ports
Protocol tcp Protocol type: TCP or UDP
Field Required? Default Description
Destination Absolute path inside the VM where the disk is mounted
Size (GB) 10 Disk size in gigabytes
Field Required? Default Description
Source Path on the host or managed volume name
Destination Intended path inside the VM
Read only false Attach the share as read-only
Field Required? Default Description
Timeout 30s Health check timeout

Health checks support three modes:

HTTP

Field Required? Default Description
Address Health check URL
Method GET HTTP method
Body Request body
Headers HTTP headers
Success codes 200 Expected success codes

TCP

Field Required? Default Description
Address Health check address

Exec

Field Required? Default Description
Command Health check command
Script Health check script
Exit code 0 Expected exit code

The Virtual Machine resource adds full-OS compute to your sandbox. Use it for labs that need VM behavior, system services, disks, or runtime setup beyond what a container provides.

For most interactive VM labs, attach the VM to a sandbox network, configure the required ports or service tabs, and add a terminal tab when learners need shell access.