In het volgende artikel gaan we LXD-containers bekijken. Een collega sprak er al een tijdje geleden over op deze blog. In dat artikel Dat heb ik al duidelijk gemaakt deze containers zijn om verschillende redenen nuttig Ze isoleren applicaties van de rest van het systeem, ze zijn draagbaar, gemakkelijk te klonen en / of over te zetten naar andere besturingssystemen. In het geval van Gnu / Linux, ze werken op dezelfde manier in elke distributie, zonder dat er aanpassingen nodig zijn.
havenarbeider is een populaire oplossing die is ontworpen om een enkele applicatie te bevatten, zoals een MySQL-databaseserver. LXD is in sommige opzichten vergelijkbaar, maar dat is het ook ontworpen om een compleet besturingssysteem te bevatten. LXD gaat hardware niet virtualiseren zoals QEMU o VirtualBox Dit betekent dat het erg snel is en een bijna native uitvoeringssnelheid biedt.
Als voorbeeld van gebruik kunnen we een LXD-container maken, een databaseserver en een http-server installeren. Daar hebben we de mogelijkheid om een website te maken met WordPress en indien nodig kunnen we overschakelen van cloud naar cloud door simpelweg deze LXD-container te verplaatsen waar het nodig is. Omdat een container eenvoudig te klonen is, kan uw website zelfs naar meerdere cloudproviders worden geüpload om een redundante en zeer beschikbare configuratie te creëren.
Installeer en configureer LXD
Om LXD te installeren, hoeft u alleen maar een terminal te openen (Ctrl + Alt + T) en te installeren. Bovendien we kunnen ook de ZFS-hulpprogramma's installeren Deze zullen ons helpen sommige bewerkingen te versnellen en schijfruimte te besparen bij het werken met containers.
sudo apt install zfsutils-linux lxd
naar start de LXD-configuratie, in dezelfde terminal schrijven we:
sudo lxd init
Hier kunnen we op drukken Intro om de standaardwaarden te selecteren.
Zoek en start een LXD-distributie-image
naar zie een lijst met Ubuntu-afbeeldingen, in de terminal schrijven we:
lxc image list ubuntu: arch=amd64|head
Het kan laat arch = amd64 weg als je afbeeldingen nodig hebt voor andere architecturen In de bovenstaande afbeelding zijn de resultaten beperkt (met | hoofd) om het lezen te vergemakkelijken.
Zoals je in de bovenstaande schermafbeelding kon zien, is de vingerafdruk van Ubuntu 18.04 (dcbc8e3e5c2e) Ik liet het gemarkeerd. Als je geïnteresseerd bent het starten van een container met die distributie zou die voetafdruk moeten gebruiken Het uit te voeren commando zou zijn:
lxc launch ubuntu:dcbc8e3e5c2e
Beheer LXD-containers
naar lijst alle gemaakte containers, je hoeft alleen maar te schrijven:
lxc list
De ruggengraat 'IPV4'is vooral belangrijk als er services op dat exemplaar worden uitgevoerd. Als u bijvoorbeeld een Apache http-server draaide, bij het schrijven van het IP "10.191.112.88”De website die in de container wordt gehost, wordt in de browser weergegeven.
naar stop een container, je hoeft alleen maar te schrijven:
lxc stop nombre-contenedor
Dit kan tijdrovend zijn of mislukken met niet-Ubuntu-distributies. Als dit gebeurt, kunt u altijd gebruik maken van systemctl uitschakelen om het te stoppen.
Als al het andere faalt, kan dat geforceerd stoppen met:
lxc stop nombre-contenedor --force
naar begin met een container je zou moeten schrijven:
lxc start nombre-contenedor
Als u wilt dat verplaats in de container, rennen:
lxc shell nombre-contenedor
In de container je kunt programma's installeren met 'sudo apt install'en alles doen wat je zou doen op een normale Gnu / Linux-distributie, bijvoorbeeld het opzetten van een Apache-server.
Altijd kom uit de container, typ gewoon:
exit
Breng bestanden over van / naar LXD-containers
naar upload een bestand naar uw container, gebruik de volgende syntaxis:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Voeg de naam toe van het bestand dat wordt gemaakt, niet alleen de map waarin u het wilt achterlaten.
naar laad een map in plaats van een bestand:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
naar download een map vanuit de container naar uw besturingssysteem opdrachtgever:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Dit heeft betrekking op de basisgebruik van LXD-containers Er zijn meer geavanceerde functies zoals snapshots, beperkingen op bronnen zoals CPU en RAM, klooncontainers, enz. Dit alles en meer kan worden geraadpleegd in de officiële documentatie, In de project website of op uw pagina GitHub.