În următorul articol vom arunca o privire asupra containerelor LXD. Un coleg a vorbit deja despre ele pe acest blog în urmă cu ceva timp. În acel articol a spus deja clar că Aceste recipiente sunt utile din diferite motive. Acestea izolează aplicațiile de restul sistemului, sunt portabile, ușor de clonat și/sau mutate pe alte sisteme de operare. În cazul Gnu/Linux, Ele funcționează la fel pe orice distribuție, fără a fi nevoie de adaptări.
Docher este o soluție populară concepută pentru a conține o singură aplicație, cum ar fi un server de baze de date MySQL. LXD este similar în anumite privințe, dar este conceput pentru a conține un sistem de operare complet. LXD nu va virtualiza hardware cum ar fi QEMU o VirtualBox. Aceasta înseamnă că este foarte rapid și oferă o viteză de execuție aproape nativă.
Ca exemplu de utilizare, am putea crea un container LXD, instalam un server de baze de date și un server http. Acolo vom avea posibilitatea de a crea un site web cu WordPress și dacă este necesar ne putem schimba de la cloud la cloud pur și simplu mutând acest container LXD acolo unde este necesar. Deoarece este ușor să clonați un container, puteți chiar să vă încărcați site-ul web la mai mulți furnizori de cloud pentru a crea o configurație redundantă, foarte disponibilă.
Instalați și configurați LXD
Pentru a instala LXD trebuie doar să deschideți un terminal (Ctrl+Alt+T) și să instalați. in afara de asta putem instala și utilitarele ZFS. Acestea ne vor ajuta să accelerăm unele operațiuni și să economisim spațiu pe disc atunci când lucrăm cu containere.
sudo apt install zfsutils-linux lxd
la porniți configurația LXD, în același terminal scriem:
sudo lxd init
Aici putem face clic Introducere pentru a selecta valorile implicite.
Găsiți și porniți o imagine de distribuție LXD
la vezi o listă de imagini Ubuntu, în terminal scriem:
lxc image list ubuntu: arch=amd64|head
Se poate ignorați arch=amd64 dacă aveți nevoie de imagini pentru alte arhitecturi. În imaginea de mai sus, rezultatele au fost limitate (cu | cap) pentru a facilita citirea.
După cum se poate vedea în captura de ecran anterioară, amprenta Ubuntu 18.04 (dcbc8e3e5c2e) L-am lăsat evidențiat. Dacă sunteți interesat porniți un container cu acea distribuție, ar trebui să utilizați acea amprentă. Comanda de executat ar fi:
lxc launch ubuntu:dcbc8e3e5c2e
Gestionați containerele LXD
la listează toate containerele create, trebuie doar sa scrii:
lxc list
Coloana vertebrală 'IPV4' este deosebit de important dacă aveți servicii care rulează pe acea instanță. De exemplu, dacă rula un server Apache http, tastând IP-ul „10.191.112.88” în browser ar fi afișat site-ul web găzduit în container.
la opri un container, trebuie doar sa scrii:
lxc stop nombre-contenedor
Acest lucru poate dura mult timp sau poate eșua cu distribuțiile non-Ubuntu. Dacă se întâmplă acest lucru, puteți utiliza întotdeauna poweroff systemctl pentru a o opri.
Dacă totul eșuează, poți forță de oprire cu:
lxc stop nombre-contenedor --force
la începe cu un recipient ar trebui sa scrii:
lxc start nombre-contenedor
Dacă doriți mutați în interiorul containerului, alerga:
lxc shell nombre-contenedor
În interiorul recipientului poti instala programe cu 'sudo apt install' și faceți orice altceva ați face într-o distribuție Gnu/Linux normală, de exemplu, configurarea unui server Apache.
Oricând ieși din recipient, scrie pur si simplu:
exit
Transferați fișiere în/din containere LXD
la încărcați un fișier în containerul dvs, utilizați următoarea sintaxă:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Includeți numele fișierului care va fi creat, nu doar directorul în care doriți să-l lăsați.
la încărcați un director in loc de fisier:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
la descărcați un director din container în sistemul dvs. de operare major:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Aceasta acoperă Utilizarea de bază a containerelor LXD. Există funcții mai avansate, cum ar fi instantanee, limite ale resurselor precum CPU și RAM, containere de clonare etc. Toate acestea și multe altele pot fi găsite la documentație oficială, În site-ul proiectului sau pe pagina ta GitHub.