incus
Manage virtual machines and containers
TLDR
List all containers and virtual machines (both running and stopped)
Create a container from an image, with a custom name
Start or stop an existing container
Open a shell inside an already running container
Remove a stopped container
Pull an image from an image repository (remote) to local
List all available images in the official images: remote
List all images already downloaded to the local: remote
SYNOPSIS
incus [options] [subcommand] [subcommand-options] [arguments]
incus help [subcommand]
PARAMETERS
--debug
Show debug messages for troubleshooting.
--help
Display general help or help for a specific subcommand.
--version
Print the Incus client version.
--remote
Specify the remote Incus server to connect to.
--project
Specify the project within Incus to operate within.
--format
Specify the output format (e.g., json, yaml, table).
--quiet
Suppress progress indicators and non-essential output.
DESCRIPTION
Incus is an open-source system container and virtual machine manager that provides a unified experience for managing compute workloads. It allows users to run isolated Linux containers (LXC) and virtual machines (KVM) with ease. Incus is a community-driven fork of the LXD project, created to continue its development under a fully open-source model. It integrates with various underlying technologies like LXC, QEMU, ZFS, Btrfs, and Ceph to offer a robust and flexible environment. Incus provides a REST API, a command-line client, and supports features such as live migration, snapshots, image management, network management, and storage pools, making it a powerful tool for developers, system administrators, and cloud environments. It aims to offer a secure, scalable, and intuitive way to manage diverse compute resources.
CAVEATS
Incus is a relatively new fork of LXD, so its community and ecosystem are still developing. While striving for compatibility, some features or configurations might differ from LXD. Compatibility with older LXD configurations and images should be tested. As it's under active development, specific API or CLI features may evolve.
KEY SUBCOMMANDS
Incus operates primarily through subcommands, each managing a specific aspect of containers or VMs. Common subcommands include:
launch: Create and start new instances (containers or VMs).
list: List existing instances, images, networks, or storage pools.
start/stop/restart: Control instance lifecycle.
exec: Run commands inside an instance.
delete: Delete instances, images, networks, or storage pools.
network: Manage Incus networks.
storage: Manage storage pools and volumes.
image: Manage instance images.
config: Manage global Incus configuration and instance-specific settings.
HISTORY
Incus was created in late 2023 as a community fork of Canonical's LXD project. The split occurred due to Canonical's decision to change LXD's licensing and contribute its development solely to Canonical, moving it out of the Linux Containers project. Incus was established under the Linux Containers umbrella, aiming to continue LXD's original vision as a fully open-source, community-driven project, ensuring its long-term availability and development outside of corporate control. It maintains API and feature compatibility with recent LXD versions to facilitate migration for existing users.
SEE ALSO
lxc(1), lxd(1), qemu-system-x86_64(1)