The cart is empty

Linux containers have become a crucial tool for efficient application development and deployment. Among the popular tools for container management are LXC (Linux Containers) and LXD, which extends LXC by adding more functionality and a user-friendly interface. This article provides an overview of how to create and manage containers using LXC/LXD on Linux.

What are LXC and LXD?

LXC is an operating system-level virtualization technology that allows for the running of multiple isolated Linux systems (containers) on a single host system. LXC containers share the host system's kernel but run in isolated environments with their own processes, file system, and network configuration.

LXD is a container manager that offers a more user-friendly interface for LXC, enabling easier creation, configuration, and management of containers. LXD utilizes a REST API and offers advanced features such as snapshots, live migration, and scalable networking.

Installing LXD

Installing LXD is usually straightforward and involves just a few steps. On most Linux distributions, LXD can be installed using the package manager. For example, on Ubuntu, you can use the following command:

 

sudo apt install lxd

After installation, it is recommended to add your user to the lxd group:

sudo usermod -aG lxd $USER

Initializing LXD

Before first use, LXD needs to be initialized, which can be done using the command:

 

lxd init

This command launches an interactive wizard that guides you through basic settings such as storage choice for containers, network setup, and more.

Creating and Launching Containers

Creating a new container is straightforward with LXD. Simply use the lxc launch command with the image name and a name you want to assign to the container. For example, to create a container with Ubuntu 20.04:

lxc launch ubuntu:20.04 můjkontejner

Managing Containers

You can manage containers using various lxc commands, for example:

  • Starting and stopping containers:
    lxc start můjkontejner
    lxc stop můjkontejner
    
  • Listing running containers:
    lxc list
    
  • Accessing a container:
    lxc exec můjkontejner -- bash
    

Backing Up and Restoring Containers

LXD makes it easy to create container snapshots, which can be used for backup and restoration. To create a snapshot:

lxc snapshot můjkontejner můjsnímek

To restore a container from a snapshot:

lxc restore můjkontejner můjsnímek

LXC and LXD offer an efficient and flexible solution for working with containers on Linux. With easy installation, simple creation, and management of containers, advanced features like snapshots and live migration, they are an ideal choice for developers and system administrators.