Dans le prochain article, nous allons jeter un œil aux conteneurs LXD. Un collègue en a déjà parlé sur ce blog il y a quelque temps. Dans cet article J'ai déjà dit clairement que ces conteneurs sont utiles pour différentes raisons. Ils isolent les applications du reste du système, ils sont portables, faciles à cloner et / ou à déplacer vers d'autres systèmes d'exploitation. Dans le cas de Gnu / Linux, ils fonctionnent de la même manière dans n'importe quelle distribution, sans nécessiter d’adaptations.
Docker est une solution populaire conçue pour contenir une seule application telle qu'un serveur de base de données MySQL. LXD est similaire à certains égards, mais il est conçu pour contenir un système d'exploitation complet. LXD ne va pas virtualiser le matériel comme QEMU o VirtualBox. Cela signifie qu'il est très rapide et offre une vitesse d'exécution presque native.
A titre d'exemple d'utilisation, nous pourrions créer un conteneur LXD, installer un serveur de base de données et un serveur http. Là, nous aurons la possibilité de créer un site Web avec WordPress et si nécessaire nous pouvons passer du cloud au cloud simplement en déplaçant ce conteneur LXD si nécessaire. Comme il est facile de cloner un conteneur, votre site Web peut même être téléchargé sur plusieurs fournisseurs de cloud pour créer une configuration redondante et hautement disponible.
Installer et configurer LXD
Pour installer LXD, il vous suffit d'ouvrir un terminal (Ctrl + Alt + T) et de l'installer. En outre nous pouvons également installer les utilitaires ZFS. Ceux-ci nous aideront à accélérer certaines opérations et à économiser de l'espace disque lorsque vous travaillez avec des conteneurs.
sudo apt install zfsutils-linux lxd
Pour démarrer la configuration LXD, dans le même terminal, nous écrivons:
sudo lxd init
Ici nous pouvons presser Introduction pour sélectionner les valeurs par défaut.
Rechercher et démarrer une image de distribution LXD
Pour voir une liste d'images Ubuntu, dans le terminal, nous écrivons:
lxc image list ubuntu: arch=amd64|head
Il peut omettez arch = amd64 si vous avez besoin d'images pour d'autres architectures. Dans l'image ci-dessus, les résultats ont été limités (avec | diriger) pour en faciliter la lecture.
Comme vous pouvez le voir dans la capture d'écran ci-dessus, l'empreinte digitale Ubuntu 18.04 (dcbc8e3e5c2e) Je l'ai laissé en surbrillance. Si vous êtes intéressé le démarrage d'un conteneur avec cette distribution doit utiliser cette empreinte. La commande à exécuter serait:
lxc launch ubuntu:dcbc8e3e5c2e
Gérer les conteneurs LXD
Pour lister tous les conteneurs créés, il vous suffit d'écrire:
lxc list
La colonne 'IPV4'est particulièrement important si vous avez des services en cours d'exécution sur cette instance. Par exemple, si vous exécutiez un serveur http Apache, lors de l'écriture de l'adresse IP "10.191.112.88"Le site Web hébergé dans le conteneur serait affiché dans le navigateur.
Pour arrêter un conteneur, il vous suffit d'écrire:
lxc stop nombre-contenedor
Cela peut prendre du temps ou échouer avec des distributions non-Ubuntu. Si cela se produit, vous pouvez toujours utiliser systemctl power off pour l'arrêter.
Si tout le reste échoue, vous pouvez arrêt forcé avec:
lxc stop nombre-contenedor --force
Pour commencer avec un conteneur vous devriez écrire:
lxc start nombre-contenedor
Si vous voulez se déplacer à l'intérieur du conteneur, courir:
lxc shell nombre-contenedor
À l'intérieur du conteneur vous pouvez installer des programmes avec 'sudo apt installer'et faites tout ce que vous feriez sur une distribution Gnu / Linux normale, par exemple, configurer un serveur Apache.
Quand tu veux sortir du conteneur, tapez simplement:
exit
Transférer des fichiers vers / depuis des conteneurs LXD
Pour télécharger un fichier dans votre conteneur, utilisez la syntaxe suivante:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Incluez le nom du fichier qui sera créé, pas seulement le répertoire dans lequel vous souhaitez le laisser.
Pour charger un répertoire au lieu d'un fichier:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
Pour télécharger un répertoire du conteneur vers votre système d'exploitation principale:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Cela couvre le utilisation de base des conteneurs LXD. Il existe des fonctionnalités plus avancées telles que les instantanés, les limites de ressources telles que le processeur et la RAM, les conteneurs de clonage, etc. Tout cela et bien plus encore peuvent être consultés dans le documentation officielle, Dans le site web du projet ou sur votre page GitHub.