Introduction détaillée des conteneurs LXD sur Ubuntu

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.

Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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

Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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.

Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

Rechercher et exécuter l'image de distribution LXD

Pour lister toutes les images d'Ubuntu:

lxc image list ubuntu: arch=amd64
Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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
Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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
Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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
Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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
Introduction détaillée aux conteneurs LXD sur Ubuntu - Linux

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.

source
Aller au bouton supérieur