Les conteneurs sont utiles pour de nombreuses raisons. Ils isolent les applications du reste du système. Ils sont portables et faciles à cloner et/ou à déplacer vers d’autres systèmes d’exploitation. Et, dans le cas de Linux, ils fonctionnent de la même manière sous n’importe quelle distribution, sans aucune adaptation nécessaire. Si vous devez déplacer un conteneur de RedHat vers Ubuntu, il devrait s’agir d’une simple opération de copie.
Docker est une solution populaire conçue pour contenir une seule application : par exemple, un serveur de base de données MySQL. LXD est similaire à certains égards, mais conçu pour contenir un système d’exploitation complet. Cela le rend utile pour certains scénarios. Par exemple, vous pouvez lancer un conteneur LXD, installer un serveur de base de données et un serveur http. Vous pouvez ensuite créer un site Web WordPress à l’intérieur. Vous pouvez désormais passer d’un cloud à un autre en déplaçant simplement ce conteneur LXD là où vous en avez besoin lorsque vous n’êtes pas satisfait de votre ancien fournisseur. Et comme il est facile de cloner un conteneur, vous pouvez même télécharger votre site Web vers plusieurs fournisseurs de cloud pour créer une configuration redondante et à haute disponibilité.
LXD ne virtualise pas le matériel comme le font QEMU ou VirtualBox, ce qui signifie qu’il est très rapide, offrant une vitesse d’exécution quasi native.
Contenu
Installer et configurer LXD
Ouvrez un terminal et installez LXD, ainsi que les utilitaires ZFS, qui vous aideront à accélérer certaines opérations et à économiser de l’espace disque lorsque vous travaillez avec des conteneurs.
Démarrez la configuration LXD.
Appuyez sur ENTER pour sélectionner les valeurs par défaut.
Pour la taille en Go du nouveau périphérique de boucle (1 Go minimum) [default=15GB], vous pouvez choisir une autre valeur, comme « 50 Go », si vous savez que vous allez créer un grand nombre de conteneurs.
Rechercher et lancer une image de distribution LXD
Pour lister toutes les images Ubuntu :
Il y aura beaucoup de résultats. Vous pouvez omettre arch=amd64 si vous avez besoin d’images pour d’autres plates-formes, comme les processeurs ARM (les appareils Raspberry Pi utilisent une telle architecture).
Dans l’image précédente, les résultats ont été limités (avec |head) pour faciliter la lecture. L’empreinte digitale d’Ubuntu 18.04 (84a71299044b) a été mise en évidence. Si vous souhaitez lancer un conteneur avec cette distribution, la commande serait :
Pour le moment, cela renverrait une erreur d’autorisation refusée. Vous devez être dans le groupe « lxd ». Votre utilisateur a déjà été ajouté à ce groupe, mais pour le rendre actif, vous devez vous déconnecter et vous reconnecter. Si vous voulez éviter cela, utilisez cette commande, en remplaçant « user » par votre nom d’utilisateur :
Désormais, les commandes lxc fonctionnent sans nécessiter sudo.
Lancer des conteneurs LXD avec des distributions non Ubuntu
Cette commande vous montrera quelles autres distributions sont disponibles :
Pour lancer une image, au lieu de l’empreinte digitale, vous pouvez également utiliser un nom d’alias si vous en voyez un disponible dans cette liste.
Si vous ajoutez une chaîne à la fin, vous pouvez choisir un nom pour votre conteneur :
Gérer les conteneurs LXD
Pour répertorier tous les conteneurs :
La colonne « IPV4 » est particulièrement importante si vous avez des services en cours d’exécution sur cette instance. Par exemple, si un serveur http Apache s’exécutait sur l’instance, saisir « 10.234.232.246 » dans le navigateur afficherait le site Web hébergé dans le conteneur.
Pour arrêter un conteneur :
Cela peut prendre beaucoup de temps (ou échouer) avec les distributions non-Ubuntu. Il est préférable d’avoir un shell dans le conteneur, et une fois à l’intérieur, entrez systemctl poweroff pour l’arrêter.
Si tout le reste échoue, vous pouvez forcer un arrêt avec :
Pour le démarrer :
Pour vous déplacer à l’intérieur de votre conteneur :
Vous pouvez installer des programmes avec « sudo apt install » et faire tout ce que vous feriez sur une distribution Linux normale, par exemple, configurer un serveur Apache. Lorsque vous souhaitez quitter le conteneur, tapez simplement :
Transférer des fichiers vers/depuis des conteneurs LXD
Pour télécharger un fichier dans votre conteneur :
Incluez le nom du fichier à créer, pas seulement le répertoire où vous souhaitez le télécharger. Voici un exemple:
Pour télécharger un répertoire au lieu d’un fichier :
Exemple:
Pour télécharger un répertoire de votre conteneur vers votre système d’exploitation principal :
Exemple:
Conclusion
Cela couvre l’utilisation de base des conteneurs LXD. Il existe des fonctionnalités plus avancées telles que les instantanés et les annulations, imposant des limites aux ressources telles que le processeur et la RAM, le clonage de conteneurs, etc. Ceux-ci peuvent être couverts dans un futur tutoriel si nous remarquons que les lecteurs sont intéressés par le sujet.
Cet article est-il utile ? Oui Non