How to Install and Use Incus Container in Ubuntu 22.04 LTS

This simple tutorial shows how to install and use Incus container in Ubuntu 22.04 and Ubuntu 20.04 LTS.

Incus is a free open-source system container and virtual machine manager developed by Linux Containers community. It supports images for a large number of Linux distributions.

With it, you can manage your containers and VMs either with a simple command line tool, directly through the REST API or by using third-party tools and integrations.

Incus was started as community fork of Canonical’s LXD. Now, it’s led and maintained by much of the same people that once created LXD.

Step 1: Install Incus

Incus is available in Zabbly repository maintained by the software developer. So far, it supports Ubuntu 22.04, Ubuntu 20.04, Debian 12 and Debian 11.

To install it, first open terminal from system start menu or Gnome activities overview screen. Ubuntu users can simply press Ctrl+Alt+T on keyboard.

1. First, run 2 commands one by one to make sure /etc/apt/keyrings exist, then download & install the key file:

sudo mkdir -p /etc/apt/keyrings
wget -qO - | sudo tee /etc/apt/keyrings/zabbly.asc

For Debian, run sudo apt install wget first if wget command not found.

2. Then, run command to create source file and edit it with nano text editor:

sudo nano /etc/apt/sources.list.d/zabbly-incus-stable.sources

When it opens in the command line text editor, paste following lines:

Enabled: yes
Types: deb
Suites: jammy
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc

NOTE: You may need to replace jammy (for 22.04) with focal for Ubuntu 20.04, or bookworm/bullseye for Debian 12/11. Also replace amd64 according to dpkg --print-architecture command output.

Finally, press Ctrl+S to save file and Ctrl+X to exit.

3. After properly adding the Zabbly repository and its key file, run the command to refresh system package cache:

sudo apt update

It should output with line says something “Get:x …”. Finally, you can install the incus container by running command:

sudo apt install incus

For choice, you may also install the incus-ui-canonical package for the web UI support.

Step 2: setup incus

After installed the container, you may run command first to verify its version:

incus version

Then, run command below and answer the questions to configure the daemon:

sudo incus admin init

To allow running incus commands without sudo privilege, you can add current user into incus-admin group:

sudo gpasswd --add $USER incus-admin

Then, run newgrp incus-admin in any terminal to interacts with Incus.

Step 3: Create/Delete containers

To create a container, for example called mycontainer using the Debian 12 image, run command:

incus launch images:debian/12 mycontainer

Then list instances:

incus list

In the case, I can run command to get into bash shell for the Debian 12 container.

incus exec mycontainer bash

To delete the container instance mycontainer, use command:

incus delete mycontainer

Add -f to force deleting running instance, and/or add -i to require user confirmation.

Incus has many other command options, including cluster, config, start, stop, copy and more. You may run incus --help to list them, and run incus <command> --help to get help for each command.

For example, run the command below to tell how to create instances from images:

incus create --help

For more about how to use incus container, see the official Docs.

Uninstall incus container

To uninstall the container installed from Zabbly repository, open terminal and run command:

sudo apt remove --autoremove incus

You may also remove the Zabbly repository by deleting the source and key files via command:

sudo rm /etc/apt/sources.list.d/zabbly-incus-stable.sources /etc/apt/keyrings/zabbly.asc

Finally, refresh your system package cache via sudo apt update.