Les conteneurs sont utiles pour plusieurs raisons. Il isole les applications du reste du système. Ils sont portables et faciles à reproduire et / ou à transférer sur d’autres systèmes d’exploitation. Au cas où Système Linux Cela fonctionne de la même manière sous n'importe quelle distribution, sans les modifications nécessaires. Si vous devez déplacer un conteneur de RedHat à Ubuntu Cela devrait être un simple processus de copie.
Docker Une solution commune est conçue pour contenir une application: par exemple, un serveur Base de données MySQL. Ça y ressemble LXD À certains égards, il est conçu pour s’adapter à tout un système d’exploitation. Cela le rend utile pour certains scénarios. Par exemple, vous pouvez Créer un conteneur LXD et installez le serveur de base de données et le serveur http. Vous pouvez alors Créer un site WordPress Interne. Vous pouvez désormais basculer de cloud en cloud uniquement en déplaçant ce conteneur LXD lorsque cela est nécessaire lorsque vous n'êtes pas satisfait de votre fournisseur précédent. Comme il est facile de cloner un conteneur, vous pouvez même le télécharger. Votre site web Plusieurs fournisseurs de services de cloud computing doivent créer un paramètre de disponibilité fréquente et élevée.
LXD ne fonctionne pas sur les machines virtuelles telles que QEMU ou VirtualBox Ce qui signifie qu’il est très rapide et offre une vitesse d’exécution semi-locale.
Installer et configurer le LXD
Ouvrez Terminal et installez LXD, en plus des utilitaires ZFS, qui vous aideront à accélérer certaines opérations et à économiser de l’espace disque lors de l’utilisation de conteneurs.
sudo apt install zfsutils-linux lxd
Démarrez la configuration de LXD.
sudo lxd init
Appuyez sur ENTER pour sélectionner les valeurs par défaut.
Pour la taille en gigaoctets du nouveau périphérique en anneau (1 Go minimum) [défaut = 15 GB], vous pouvez choisir une autre valeur, telle que "50 GB" si vous savez que vous allez créer de nombreux conteneurs.
Rechercher et exécuter l'image de distribution LXD
Pour lister toutes les images d'Ubuntu:
lxc image list ubuntu: arch=amd64
Il y aura beaucoup de résultats. Vous pouvez choisir ommit arch = amd64 Si vous avez besoin d'images pour d'autres plates-formes, telles que des processeurs ARM (les périphériques Raspberry Pi utilisent cette structure).
Dans l'image précédente, les résultats étaient limités (avec | head) pour les rendre plus lisibles. Une empreinte digitale est surlignée Ubuntu 18.04 (84a71299044b). Si vous souhaitez exécuter un conteneur avec cette distribution, la commande sera la suivante:
lxc launch ubuntu: 84a71299044b
Pour le moment, ceci retournera avec une erreur d'autorisation refusée. Vous devez être dans le groupe "lxd". Votre utilisateur a déjà été ajouté à ce groupe, mais pour l'activer, vous devez vous déconnecter et vous reconnecter. Si vous voulez éviter cela, utilisez cette commande, en remplaçant "utilisateur" par votre nom d'utilisateur:
exec su - user
Maintenant, les commandes lxc s'exécutent sans la nécessité de sudo.
Exécuter les conteneurs LXD avec des distributions autres qu'Ubuntu
Cela vous montrera d'autres distributions disponibles:
lxc image list images: arch=amd64
Pour démarrer une image, au lieu d'une empreinte, vous pouvez également utiliser un alias si un nom disponible apparaît dans cette liste.
lxc launch images:debian/9
Si vous ajoutez une chaîne à la fin, vous pouvez choisir un nom pour votre conteneur:
lxc launch images:debian/9 wordpress-site
Gestion des conteneurs LXD
Pour lister tous les conteneurs:
lxc list
Le "IPV4"Cependant, surtout si vous n’avez aucun service en cours dans ce cas. Par exemple, s'il s'agit d'un serveur Apache http En cours d'exécution sur l'instance, le "10.234.232.246"Dans votre navigateur, le site Web hébergé dans le conteneur sera affiché.
Pour éteindre le conteneur:
lxc stop name_of_container
Cela peut prendre beaucoup de temps (ou un échec peut survenir) avec des distributions autres qu'Ubuntu. Il est préférable d’obtenir un conteneur, et lorsque vous entrez à l’intérieur, entrez systemctl power off Pour les éteindre.
Si tout le reste échoue, vous pouvez forcer une gueule de bois avec:
lxc stop name_of_container --force
Pour commencer ceci:
lxc start name_of_container
Pour naviguer dans votre conteneur:
lxc shell name_of_container
Vous pouvez installer des programmes avec "sudo apt installer"Et faites tout ce que vous feriez sur une distribution Linux normale, par exemple, la configuration du serveur Apache. Lorsque vous souhaitez quitter le conteneur, tapez simplement:
exit
Déplacer des fichiers vers / depuis des conteneurs LXD
Pour télécharger un fichier dans votre conteneur:
lxc file push /path/to/local/file name_of_container/path/to/uploaded/file
Incluez le nom du fichier à créer, pas uniquement le répertoire que vous souhaitez télécharger. Voici un exemple:
lxc file push lxd-apt-install.png accurate-colt/var/www/website/upload.png
Pour télécharger un répertoire à la place d'un fichier:
lxc file push /path/to/local/directory name_of_container/path/to/remote/directory --recursive --verbose
Par exemple:
lxc file push /bin accurate-colt/tmp --recursive --verbose
Pour télécharger un répertoire de votre conteneur sur votre système d'exploitation principal:
lxc file pull name_of_container/path/to/remote/directory /path/to/local/directory --recursive --verbose
Par exemple:
lxc file pull accurate-colt/tmp /tmp --recursive --verbose
Conclusion
Cela couvre La principale utilisation des conteneurs LXD. Il existe des fonctionnalités plus avancées telles que des instantanés et arrière, des contraintes de ressources telles que CPU وRAM , Conteneurs de clonage, etc. Peut être couvert dans un prochain tutoriel si nous remarquons que les lecteurs sont intéressés par le sujet.