U sljedećem članku ćemo pogledati LXD kontejnere. Kolega je o njima već govorio na ovom blogu prije nekog vremena. In taj članak To sam već jasno rekao ovi kontejneri su korisni iz različitih razloga. One izoliraju aplikacije od ostatka sistema, prenosive su, lako se kloniraju i / ili premještaju u druge operativne sisteme. U slučaju Gnu / Linuxa, oni rade na isti način u bilo kojoj distribuciji, bez potrebe za adaptacijama.
doker je popularno rješenje dizajnirano da sadrži jednu aplikaciju kao što je MySQL poslužitelj baze podataka. LXD je u nekim pogledima sličan, ali je dizajniran da sadrži kompletan operativni sistem. LXD neće virtualizirati hardver poput QEMU o VirtualBox. To znači da je vrlo brz i nudi gotovo nativnu brzinu izvršenja.
Kao primjer upotrebe, mogli bismo stvoriti LXD spremnik, instalirati poslužitelj baze podataka i http server. Tamo ćemo imati mogućnost stvaranja web stranice s WordPressom i ako je potrebno možemo se prebaciti iz oblaka u oblak jednostavnim premještanjem ovog LXD spremnika tamo gdje je to potrebno. Budući da je lako klonirati spremnik, vaša web lokacija može se čak i prenijeti na više dobavljača u oblaku kako bi se stvorilo suvišno i visoko dostupno postavljanje.
Instalirajte i konfigurirajte LXD
Da biste instalirali LXD, morate otvoriti terminal (Ctrl + Alt + T) i instalirati. Šta više možemo instalirati i uslužne programe ZFS. To će nam pomoći da ubrzamo neke operacije i uštedimo prostor na disku pri radu s spremnicima.
sudo apt install zfsutils-linux lxd
para pokrenite LXD konfiguraciju, u isti terminal pišemo:
sudo lxd init
Ovdje možemo pritisnuti Intro za odabir zadanih vrijednosti.
Pronađite i pokrenite LXD distribucijsku sliku
para pogledajte listu Ubuntu slika, u terminalu pišemo:
lxc image list ubuntu: arch=amd64|head
Možete izostavite arch = amd64 ako su vam potrebne slike za druge arhitekture. Na gornjoj slici rezultati su ograničeni (sa | glava) radi lakšeg čitanja.
Kao što ste mogli vidjeti na gornjoj snimci zaslona, otisak prsta Ubuntu 18.04 (dcbc8e3e5c2e) Ostavio sam istaknuto. Ako si zainteresovan pokretanje spremnika s tom distribucijom treba koristiti taj otisak. Naredba za izvršavanje bila bi:
lxc launch ubuntu:dcbc8e3e5c2e
Upravljanje LXD spremnicima
para popis svih kreiranih spremnika, samo trebate napisati:
lxc list
Kičma 'IPV4'je posebno važno ako imate uslugu koja se izvodi na toj instanci. Na primjer, ako ste koristili Apache http server, prilikom pisanja IP-a "10.191.112.88”Web stranica hostirana u spremniku bit će prikazana u pregledniku.
para zaustaviti kontejner, samo trebate napisati:
lxc stop nombre-contenedor
To može potrajati ili propasti kod distribucija koje nisu Ubuntu-ove. Ako se to dogodi, uvijek možete koristiti systemctl napajanje da to zaustavi.
Ako sve drugo zakaže, možete sila zaustaviti sa:
lxc stop nombre-contenedor --force
para počnite sa kontejnerom trebali biste napisati:
lxc start nombre-contenedor
Ako želite pomaknite se unutar posude, pokrenite:
lxc shell nombre-contenedor
Unutar posude možete instalirati programe sa 'sudo apt install'i radite sve što biste radili na normalnoj Gnu / Linux distribuciji, na primjer, postavljanje Apache servera.
Bilo kad izađite iz kontejnera, samo upišite:
exit
Prijenos datoteka u / iz LXD spremnika
para prenesite datoteku u svoj spremnik, koristite sljedeću sintaksu:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Uključite ime datoteke koja će se stvoriti, a ne samo direktorij u kojem ga želite ostaviti.
para učitavanje direktorija umjesto datoteke:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
para preuzmite direktorij iz spremnika u svoj operativni sistem direktor:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Ovo pokriva osnovna upotreba LXD kontejnera. Postoje naprednije funkcije kao što su snimke, ograničenja resursa poput CPU-a i RAM-a, klonirani spremnici itd. Sve ovo i još više možete pogledati u službena dokumentacija, u web stranica projekta ili na vašoj stranici GitHub.