TrueNAS 25.04 introduces support for Containers (Linux system containers), enabling lightweight isolation similar to jails in TrueNAS CORE.
TrueNAS 25.04.2 reintroduces “classic virtualization” with the Virtual Machines feature.
Virtual machines created in 25.04.0 or 25.04.1 using the Instances feature continue to function and appear in the Containers screen.
New VMs and those migrated from 24.10.2.2 to 25.04.2 use the Virtual Machines screen.
Virtual machines automatically migrate from TrueNAS 24.10 to 25.04.2.
No manual migration of virtual machines is required.
We are actively updating Tutorials and UI Reference articles to reflect these changes.
Please use the Docs Hub Feedback button (located to the right of any article) to report documentation issues or request improvements to the Containers or Virtual Machines documentation.
Containers (Linux system containers) are an experimental feature intended for community testing only.
Functionality could change significantly between releases, and containers might not upgrade reliably.
Use this feature for testing purposes only—do not rely on it for production workloads.
Long-term stability is planned for future TrueNAS Community Edition releases.
Make all configuration changes using the TrueNAS UI.
Operations using the command line are not supported and might not persist on upgrade.
For assistance or to discuss this feature with other TrueNAS users, visit our community forums. To report bugs, submit an issue on TrueNAS Jira.
Containers Screen
The Containers screen allows users to add, edit, or manage Linux containers.
TrueNAS 25.04.2 introduces the Virtual Machines screen for creating and managing VMs.
You cannot create new virtual machines using the Containers screen in 25.04.2 or later.
New VM creation is only available through the Virtual Machines screen.
Virtual machines created using the previous Instances feature in earlier 25.04 versions remain fully functional and continue to appear in the Containers screen for management purposes.
You can manage these existing VMs using the same tools and procedures described in the Managing Containers section.
Virtual machines automatically migrated from TrueNAS 24.10 to 25.04.2 appear in the new Virtual Machines screen and use the updated VM management interface.
The screen header displays a Pool is not selected status before a pool for containers is selected.
See Global Settings for more information.
Global Settings opens the Global Settings screen showing global options that apply to all containers, including selecting the storage pool for containers and network settings.
The Pool dropdown list shows a list of available pools on the system.
[Disabled] deactivates the pool and disables the containers service.
The screen header displays a Pool is not selected status before a pool for containers is selected.
Default Network Settings
Default Network settings configure global networking defaults for the containers service.
Setting
Description
Bridge
Specifies the network bridge. Automatic uses the default network bridge for communication between containers and the TrueNAS host. The dropdown list option shows existing bridges. See Accessing NAS from VMs and Containers for more information.
IPv4 Network
Specifies the IPv4 address for the bridge specified when Bridge is set to Automatic. Enter the IPv4 address and subnet (e.g., 192.168.1.0/24) for the containers to use or leave empty to allow TrueNAS to use the default address.
IPv6 Network
Specifies the IPv6 address for the bridge specified when Bridge is set to Automatic. Enter the IPv6 address and subnet (e.g., fd42:96dd:aef2:483c::1/64) for the containers to use or leave empty to allow TrueNAS to use the default address.
Manage Volumes
The Volumes screen lists all volumes currently configured for the containers service.
Specifies the Zvol to import. Enter or browse to select an existing Zvol.
Clone
Clones and promotes a temporary snapshot of the zvol into a custom storage volume. This option retains the original zvol while creating an identical copy as a containers volume.
Move
Relocates the existing zvol to the ix-virt dataset as a volume.
Delete Volumes
delete Delete on an image row deletes that image.
A Delete volume dialog displays.
The Users or Groups tabs display mappings for individual user or group accounts, respectively.
Existing mappings are shown in a table containing the group or user name, host ID, and container ID.
delete Delete on a row deletes that mapping.
Add New Mapping Settings
Setting
Description
User/Group
Specifies the user or group account name. Begin typing an account name to search for it or select it from the dropdown menu.
Map to the same UID/GID in the container
(Default) Specifies the host ID-to-container user or group ID mapping. Select to map the host ID to the same ID in containers.
Container UID/GID
(Displays when Map to the same UID/GID in the container is not selected) Specified the user or group ID. Enter the ID number (e.g., 1000) to map the host user or group ID to in containers.
Set creates the mapping.
Changes take effect immediately, but containers might require a restart to reflect the changes.
Create Container Wizard
The Create Container configuration wizard displays all settings to set up a new container.
Container Configuration
The Container Configuration settings specify the container name and operating system image.
Required. Enter an alphanumeric name for the container.
Image
Browse Catalog opens the Select Image screen with available Linux image choices from linuxcontainers.org. Search or browse to locate your desired image and click Select.
Name Requirements
A container name must meet these criteria:
It must be between 1 and 63 characters long.
It can only include letters, numbers, and dashes from the ASCII character set.
It cannot begin with a number or a dash.
It cannot end with a dash.
CPU & Memory
The CPU & Memory settings specify the number of virtual CPU cores to allocate to the container and memory size.
Enter the number of virtual CPU (vCPU) cores to allocate to the instance. Set to an integer to expose that number of full vCPU cores to the instance.
Set to a range or comma-separated list to pin vCPUs to specific physical cores. For better cache locality and performance, select cores that share the same cache hierarchy or NUMA node. For example, to assign cores 0,1,2,5,9,10,11, you can write: 1-2,5,9-11.
Set CPU limits or leave this field blank to allow access to all host CPUs.
Memory Size
Allocate RAM for the instance. This field accepts human-readable input (Ex. 50 GiB, 500M, 2 TB). If units are not specified, the value defaults to mebibytes (MiB). The minimum value is 32 MiB.
Set memory limits or leave this field blank to allow access to all host memory.
Environment
The Environment settings configure optional environment variables to run on boot or execute.
These settings are only available for containers and cannot be used with VMs.
(Required) Displays after clicking Add in Disks. Define an existing dataset or create a new dataset using the Create Dataset option. Creating a dataset requires entering a path or browsing to select a parent dataset from the dropdown list of datasets on the system. Enter a name for the new dataset in the Create Dataset window. Create adds the dataset.
Destination
(Required) Specifies the file system path to mount the disk in the container, for example /media or /var/lib/data.
Proxies
The Proxies settings allow you to forward network connections between the host and the container.
This routes traffic from a specific address on the host to an address inside the container, or vice versa, allowing the container to connect externally through the host.
Add displays a set of proxy configuration settings.
Sets the connection protocol for the TrueNAS host. Options are TCP or UDP.
Host Port
Sets TrueNAS host port to map to the instance port on the container, for example 3600.
Instance Protocol
Sets the connection protocol for the container. Select from the options TCP or UDP.
Instance Port
Sets the port number within the container. Enter a port number to use, for example 80.
Network
The Network settings configure how the container connects to the host and external networks.
Options include the default network bridge, an existing bridge interface, or a MACVLAN.
Select to use default network settings to connect the container to the host using the automatic bridge defined in Global Settings. Selected by default. Disable to display the Bridged NICs (if available) and Macvlan NICs settings.
Bridged NICs
Select an existing bridge on the TrueNAS host to connect to the container. Displays when one or more existing bridge interface(s) are available.
Macvlan NICs
Select an existing interface to create a virtual network interface based on it, assigning a unique MAC address so the container appears as a separate device on the network.
A MACVLAN NIC on the same physical interface as the TrueNAS host cannot directly communicate with the host.
MACVLAN sends traffic directly to the external network without passing through the host network stack.
The host does not recognize MACVLAN packets as local, so any traffic between them must be routed through an external switch, use a separate NIC, or use a network bridge.
USB Devices
USB Devices displays a list of available devices to attach to a container, allowing the device to function as if physically connected.
The Containers table lists each configured container, displaying its name, type, current state, and options to restart or stop it.
Stopped containers show the option to start the container.
The play_circle button starts a stopped container.
Search above the Containers table allows entering the name of a container to locate a configured container.
The checkbox on each container row shows the Bulk Actions dropdown.
Bulk Actions
The Bulk Actions dropdown list allows you to apply actions to one or more containers on your system.
Options are Start All Selected, Stop All Selected, and Restart All Selected.
The Details for Container widgets display information and configuration options for the selected container.
General Info Widget
The General Info widget displays the container status, autostart setting, base image, CPU, memory, and secure boot configuration.
It includes the Edit and Delete buttons for the container.
Edit opens an Edit Container: Container configuration screen populated with editable settings also found on the install wizard screen for the container.
Delete Containers
The Delete dialog asks for confirmation to delete the selected container.
The Disks widget shows the storage devices attached to the container, along with their associated paths.
It allows you to manage the disks, including adding new ones or modifying existing ones.
Add opens the Add Disk screen for adding new disks to the container.
For existing disks, the more_vert actions include options to Edit or Delete the disk mount.
For VMs, the widget displays the current root disk size.
The root disk stores the OS and serves as the boot disk for the VM.
Change opens the Change Root Disk Setup dialog.
Add/Edit Disk Screen
The Add/Edit Disk screen allows you to configure a new disk or modify an existing one attached to a container.
Increases the size of the VM root disk. Enter a new root disk size in GiB, such as 20.
Root Disk I/O Bus
Sets the communication pathway type for the root disk. Options are NVMe, Virtio-BLK, and Virtio-SCSI.
Save applies changes.
NIC Widget
The NIC Widget displays the network interfaces (NICs) attached to the container, along with their names and types.
It allows you to add new NICs and manage existing ones.
Confirm activates the Continue button.
Continue starts the delete operation.
Proxies Widget
The Proxies widget displays the network proxy settings configured for the container.
It allows you to manage these settings, including adding, editing, or removing proxies.
These settings are only available for containers and cannot be used with VMs.
Confirm activates the Continue button.
Continue starts the delete operation.
Idmap Widget
The Idmap widget shows the user ID (UID) and group ID (GID) mappings used by the container to translate IDs between the host and the container or VM.
It provides details such as the Host ID, Maprange, and NS ID for both UIDs and GIDs.
These settings are only available for containers and cannot be used with VMs.
Host ID shows the starting ID used by the host for mapping to the container IDs.
Maprange indicates the range of IDs that the host allocates for the container.
NS ID represents the namespace ID used for the mapping.
For example, if the Host ID is 2147000001 and the Maprange is 458752, the container UID 0 (root) is mapped to the host UID 2147000001.
This ensures proper isolation and user/group identity management between the host and the container.
Tools Widget
The Tools widget provides quick access to various tools and utilities for managing your container.
You can open a shell, console, or VNC session directly from this widget.
Shell opens an Container Shell session for command-line interaction with the container.
Serial Console (VM only) opens an Container Console session to access the system console for the container.
VNC (VM only) opens a VNC connection using your preferred client.
It uses a VNC URL scheme (for example, vnc://hostname.domain.com:5930) to launch the session directly in the application.
If your environment does not support VNC URLs, you can manually connect using a VNC client by entering the host name or IP address followed by the port number without vnc:// (for example, hostname.domain.com:5930 or IP:5930).
Metrics Widget
The Metrics widget displays real-time graphs that monitor container performance, including CPU usage, memory usage, and disk I/O pressure.
CPU (%) shows the percentage of CPU usage over time.
Memory (MiB) displays the memory usage in MiB over time.
Disk I/O Full Pressure (%) tracks the disk input/output pressure as a percentage over time.
Edit Container Screen
The Edit Container: Container screen settings are a subset of those found on the Create Container Wizard screens.
It includes the general Container Configuration and CPU and Memory settings for all containers.
Additionally, containers include Environment settings.
VMs include VNC and Security settings.
To edit device, disk, network, or proxy settings, use the Containers Widgets on the Containers screen.
Edit Container Configuration Settings
The Container Configuration settings on the Edit screen allow you to modify basic parameters for the container, such as startup behavior.
Enter the number of virtual CPU (vCPU) cores to allocate to the instance. Set to an integer to expose that number of full vCPU cores to the instance.
Set to a range or comma-separated list to pin vCPUs to specific physical cores. For better cache locality and performance, select cores that share the same cache hierarchy or NUMA node. For example, to assign cores 0,1,2,5,9,10,11, you can write: 1-2,5,9-11.
Set CPU limits or leave this field blank to allow access to all host CPUs.
Memory Size
Allocate RAM for the instance. This field accepts human-readable input (Ex. 50 GiB, 500M, 2 TB). If units are not specified, the value defaults to mebibytes (MiB). The minimum value is 32 MiB.
Set memory limits or leave this field blank to allow access to all host memory.
Edit VNC Settings
The VNC settings on the Edit screen are the same as those in the Create Container wizard.
These settings are only available for VMs and cannot be used with containers.
Enter a port number to configure the port that the VM VNC server listens for connections on.
VNC Password
Enter a password to authenticate VNC access to the VM. Note: A VNC password is not cryptographically secure. You should not rely on it as a single authentication mechanism for your VMs.
Edit Environment Settings
The Environment settings on the Edit screen are the same as those in the Create Container wizard.
These settings are only available for containers and cannot be used with VMs.
Enter the name of the environment variable to set (for example, LANG).
Value
Enter the value to assign to the environment variable (for example, en_US.UTF-8).
Edit Security Settings
The Security settings on the Edit screen allow you to enable Secure Boot for the container, ensuring that only trusted, signed software runs during the startup process.
These settings are only available for VMs and cannot be used with containers.
Use Search Devices or the Type dropdown to filter available devices.
The selected PCI device(s) must not be in use by the host or share an IOMMU group with any device the host requires.