LinuxCommandLibrary

incus

Manage virtual machines and containers

TLDR

List all containers and virtual machines (both running and stopped)

$ incus list
copy

Create a container from an image, with a custom name
$ incus create [image] [container_name]
copy

Start or stop an existing container
$ incus [start|stop] [container_name]
copy

Open a shell inside an already running container
$ incus shell [container_name]
copy

Remove a stopped container
$ incus delete [container_name]
copy

Pull an image from an image repository (remote) to local
$ incus copy [remote]:[image] local:[custom_image_name]
copy

List all available images in the official images: remote
$ incus image list images:
copy

List all images already downloaded to the local: remote
$ incus image list local:
copy

SYNOPSIS

incus [global flags] [command flags] [arguments...]

PARAMETERS

--help
    Show help about any command.

--version
    Show the Incus version.

--debug
    Enable debug mode.

--verbose
    Enable verbose mode.

remote
    Manage remotes.

image
    Manage images.

instance
    Manage instances.

network
    Manage networks.

volume
    Manage storage volumes.

profile
    Manage profiles.

project
    Manage projects.

cluster
    Manage cluster.

backup
    Manage backups.

certificate
    Manage certificates.

operation
    Manage operations.

event
    Listen to events.

query
    Query the Incus API.

DESCRIPTION

Incus is a powerful, open-source container and virtual machine manager. It's designed to be a modern replacement for LXD, offering similar functionality with improvements in design, security, and usability. Incus enables users to quickly and easily create, manage, and orchestrate containers and virtual machines on a single host or across a cluster. It supports a wide range of operating systems and architectures, making it a versatile tool for development, testing, and production environments.

Incus leverages images and profiles to provide a consistent and repeatable experience when deploying instances. Networking and storage are also centrally managed, allowing for efficient resource allocation and utilization. Incus is accessible through a command-line interface (CLI) and a REST API, offering flexibility in how you manage your instances. The CLI is the main way users will interact with Incus on the command line, making it a core tool for managing their containers and VMs.

CAVEATS

Incus is a relatively new project, so some features may still be under development. While it aims for compatibility with LXD, direct migration might require some adjustments.

SECURITY

Incus emphasizes security best practices, including container isolation using Linux namespaces and cgroups, as well as secure API communication over TLS. Instance images are verified and signed to prevent tampering. You should always keep your Incus server and client up to date with the latest security patches.

CLUSTERING

Incus supports clustering, allowing you to create a pool of Incus servers that work together to provide high availability and scalability. Clustering enables you to easily manage instances across multiple hosts.

HISTORY

Incus is a fork of LXD initiated by Stéphane Graber in 2023. It emerged as a community-driven alternative, aiming to refine LXD's design, improve security, and enhance the overall user experience. While inheriting from LXD's well-established foundation, Incus focuses on a more modular architecture and aims to address user feedback regarding complexity and resource usage.

SEE ALSO

lxd(1), docker(1)

Copied to clipboard