Aller au contenu principal

Introduction conteneurs LXD

LXD et LXC sont deux technologies de conteneurs Linux. LXD est un gestionnaire de conteneurs qui fournit une interface unifiée pour créer, gérer et supprimer des conteneurs. LXC est un framework de conteneurs qui fournit les CLI nécessaires à la création de conteneurs.

Dans ce tutoriel, nous allons apprendre à installer et à utiliser LXD et LXC sur une machine Linux.

Prérequis

  • Une machine Linux avec un système d'exploitation récent, tel qu'Ubuntu 22.04 LTS.
  • Les privilèges root ou sudo.

Installation de LXD

Exécutez les commandes suivantes :

sudo apt update
sudo apt install lxd-installer

Si vous utilisez une version antérieure d'Ubuntu, vous pouvez installer LXD à partir des sources, consultez la documentation LXD.

Vérification de l'installation

Une fois LXD installé, vous pouvez vérifier son installation en exécutant la commande suivante :

lxd version

Cette commande devrait afficher la version de LXD installée sur votre système.

Ajout de l'utilisateur au groupe lxd

Pour pouvoir lancer les commandes lxd et lxc sans passer par sudo ou root vous devez faire partie du groupe lxd, exécutez la commande suivante pour vous ajouter au groupe :

sudo usermod -aG lxd <utilisateur>

Puis fermez et relancez votre session.

Initialisation de LXD

Avant de pouvoir créer des conteneurs, vous devez initialiser LXD.
Pour ce faire, exécutez la commande suivante :

lxd init --minimal

L'option --minimal initialise avec les paramètres par défaut, vous pouvez enlever cette option si vous souhaitez configurer manuellement.

Création d'un conteneur

Un conteneur est une instance d'un système d'exploitation Linux qui s'exécute dans un environnement isolé.
Pour créer un conteneur ubuntu 22.04, exécutez la commande suivante :

lxc launch ubuntu:22.04 <nom_du_conteneur>

Démarrage et arrêt d'un conteneur

Une fois un conteneur créé, vous pouvez le démarrer en exécutant la commande suivante :

lxc start <nom_du_conteneur>

Pour arrêter un conteneur, exécutez la commande suivante :

lxc stop <nom_du_conteneur>

Connexion à un conteneur

Une fois un conteneur démarré, vous pouvez vous y connecter en exécutant la commande suivante :

lxc exec <nom_du_conteneur> /bin/bash

Cette commande va ouvrir un shell dans le conteneur.

Exécuter une commande sur un conteneur

Pour exécuter une commande sur un conteneur, exécutez la commande suivante :

lxc exec <nom du conteneur> -- <ma commande>

Lister les conteneurs

Pour lister les conteneurs installés sur la machine, exécutez la commande suivante :

lxc list

Lister les images locales

Pour lister les images téléchargées sur la machine, exécutez la commande suivante :

lxc image list

Lister les images distantes

Pour lister toutes les images disponibles sur le web, exécutez la commande suivante :

lxc image list images:

vous pouvez aussi regarder sur le site officiel la liste des images disponibles.

Suppression d'un conteneur

Pour supprimer un conteneur, exécutez la commande suivante :

lxc delete <nom du conteneur>

Gestion de profile

LXD crée un profile par defaut lors de sont installation. Pour lister les profiles, exécutez la commande suivante :

lxc profile list

Pour afficher la configuration du profile par défaut, exécutez la commande suivante :

lxc profile show default

Pour éditer un profile, exécutez la commande suivante :

lxc profile edit default

Pour créer un nouveau profile, exécutez la commande suivante :

lxc profile copy default myNewProfile

Gestion réseau

Pour lister les interfaces réseaux, exécutez la commande suivante :

lxc network list

Pour créer un nouveau pont réseau, exécutez la commande suivante :

lxc network create lxdbr1 --type=bridge

Pour éditer une interface réseaux, exécutez la commande suivante :

lxc network edit lxdbr1

Pour afficher la configuration d'une interface réseaux, exécutez la commande suivante :

lxc network show lxdbr1

Pour plus d'informations sur LXD et LXC, consultez la documentation officielle.

Exercices

  • Créer un conteneur avec une distribution Linux différente de celle installée sur votre machine hôte.
  • Connectez-vous à un conteneur et installez un logiciel.
  • Créer un conteneur avec un partage de fichiers entre le conteneur et la machine hôte.
  • Configurer un conteneur pour qu'il s'exécute automatiquement au démarrage de la machine hôte.
  • Créer un nouveau bridge réseau.
  • Créer un nouveau profile qui utilise ce bridge réseau.
  • Créer un conteneur qui utilise ce nouveau profile et installer apache et mysql.