Priporočena, 2024

Izbira Urednika

Kako teči več distros Simultaneosly Uporaba Linux zabojnikov

Kontejnerji Linux (LXC) so lahka tehnologija za virtualizacijo in imajo različne namene. Je del jedra Linuxa in vam omogoča, da posnemate enega ali več Linux distrosov na enem samem gostitelju Linuxa. Pomislite na to kot na sredino med chroot in popolnimi tehnologijami za virtualizacijo, kot sta VirtualBox, KVM ali Xen. Podobna tehnologija, ki je prisotna v svetu BSD, je FreeBSD Jails.

Na primer, stroj, na katerem pišem, je prenosni računalnik z operacijskim sistemom Linux Mint 18, ki ga poganja procesor Intel Atom, in ima 2 GB RAM-a. Vendar uporabljam tri Linux-ove zabojnike, vsaka s primerom strežnika Apache spletnega strežnika, brez velikega zadetka. To bi bilo nepredstavljivo s tradicionalnim virtualnim strojem, kot je VirtualBox. Torej, če ste želeli zagnati več distros na vašem sistemu Linux, bi morali zabojniki za Linux opraviti delo za vas.

Nameščanje in konfiguriranje zabojnikov za Linux

Postavljamo LXC v Linux Mint 18 64-bit. Navodila za namestitev, ki so na voljo tukaj, bodo delovala tudi nespremenjena na Ubuntu 16.04 in novejših. Če uporabljate drugo distro, se obrnite na uradno dokumentacijo vašega distroja, če nekaj ne deluje po pričakovanjih. Predvideva se tudi poznavanje ukazne vrstice in splošno odpravljanje težav.

Predpogoji

Tukaj je nekaj stvari, ki jih morate nastaviti, da začnete uporabljati več distribucij:

1. Namestite LXC in drugo predpogojno programsko opremo z uporabo:

sudo apt install lxc lxc-templates uidmap [/ sourcecode]

2. Sedaj morate nastaviti svoj profil . Za nastavitev vnesite naslednje ukaze:

[izvorna koda] mkdir -p ~ / .config / lxc
echo "lxc.id_map = u 0 100000 65536" & amp; gt; ~ / .config / lxc / default.conf
echo "lxc.id_map = g 0 100000 65536" & amp; gt; & amp; gt; ~ / .config / lxc / default.conf
echo "lxc.network.type = veth" & amp; gt; & amp; gt; ~ / .config / lxc / default.conf
echo "lxc.network.link = lxcbr0" & amp; gt; & amp; gt; ~ / .config / lxc / default.conf
echo "$ USER veth lxcbr0 2" | sudo tee -a / etc / lxc / lxc-usernet [/ izvorna koda]

3. Potem morate nastaviti uporabniška dovoljenja na naslednji način:

[sourcecode] sudo usermod -add-subuids 100000-165536 $ USER
sudo usermod -add-subgids 100000-165536 $ USER

sudo cgm ustvari vsega uporabnika
sudo cgm chown vsi uporabniki $ (id -u) $ (id-g)
cgm movepid vse uporabnik $$ [/ sourcecode]

Nastavitev vsebnika

Zdaj, ko imate nameščen LXC Container skupaj z drugo predpogojno programsko opremo, so tukaj naslednji koraki za nastavitev vsebnika:

1. V tem primeru bomo nastavili zabojnik Ubuntu, imenovan ubu1 . Če želite to narediti, izvedite naslednji ukaz:

[izvorna koda] lxc-create -template download -name ubu1 [/ sourcecode]

2. Tukaj parameter -template pove lxc, da prenese prednastavljeno sliko iz interneta, medtem ko parameter –name poda ime vsebnika - ubu1 v tem primeru. Uporabite lahko katerokoli želeno ime.

3. Sedaj boste videli seznam podprtih distro slik :

4. Vnesite podrobnosti distribucije, ki jo želite namestiti. Tukaj bom namestil 64-bitno različico Ubuntu 16.04 (kodno ime xenial):

5. Če želite sliko namestiti neinteraktivno, naslednji ukaz doseže enake rezultate kot zgoraj:

[izvorna koda] lxc-create -t ​​prenos -n ubu1 - –dist ubuntu -izpust xenial –arch amd64 [/ sourcecode]

6. LXC bo zdaj prenesel in namestil minimalno Ubuntu xenialno sliko na vašem gostiteljskem sistemu. Prenos in namestitev lahko traja nekaj časa, odvisno od internetne povezave in hitrosti računalnika. Po namestitvi boste videli zaslon, kot je ta:

Zdaj ste pripravljeni za uporabo na novo nastavljenega zabojnika Ubuntu.

Uporaba več oddaj z vsebniki Linuxa

Zagon vsebnika

Zaženite vsebnik z lxc-start :

[izvorna koda] lxc-start -n ubu1 -d [/ izvorna koda]

Tukaj parameter -n podaja ime vsebnika, ki ga želite zagnati (v tem primeru ubu1 ), in parameter -d omogoča, da se izvaja v ozadju .

Preverite, ali se je vsebnik zagnal z ukazom lxc-ls :

[izvorna koda] lxc-ls -f [/ izvorna koda]

Parameter -f omogoča fantastično poročanje. Tu lahko vidite, da imam dva kontejnerja - en Debian (ustavljen) in en Ubuntu (teče).

Dostopanje in uporaba vsebnika

Do ukazne mize vsebnika lahko dostopate z ukazom lxc-attach :

[izvorna koda] lxc-attach -n ubu1 [/ sourcecode]

Na vsebniku boste zdaj imeli korensko lupino . Priporočljivo je, da nastavite geslo za uporabnika root in ustvarite redni uporabniški račun :

[izvorna koda] passwd
adduser beebom [/ izvorna koda]

Seveda zamenjajte beebom z uporabniškim imenom, ki ga želite. Nato lahko namestite programsko opremo in konfigurirate zabojnik, kot bi to počeli v običajnem sistemu. Na primer v zabojniku Debian ali Ubuntu:

[izvorna koda] apt install wget odpiraš-strežnik htop tmux nano iptables [/ sourcecode]

Ustavitev vsebnika

Ko končate igranje z vsebnikom, uporabite ukaz exit za vrnitev v gostiteljski sistem . Z lxc-stop ustavite vsebnik :

[izvorna koda] lxc-stop -n ubu1 [/ izvorna koda]

S tem se bo vsebnik čisto izklopil in ne bo porabil več sredstev v sistemu, razen prostora na disku.

Kloniranje in posnetki

Kloni

Ko namestite programe v vsebnik in ga konfigurirate po vaših željah, boste morda želeli ustvariti enega ali več kopij za preprosto zagotavljanje. To lahko naredite tako, da ustvarite klon, ki je natančna kopija vsebnika.

Če želite na primer ustvariti klon zabojnika ubu1 (imenujemo ga ubu2 ), najprej zaustavite vsebnik z lxc-stop, nato pa uporabite ukaz lxc-copy :

[izvorna koda] lxc-stop -n ubu

lxc-copy -n ubu1-ubu2 [/ izvorna koda]

Tukaj možnost -n podaja izvorni vsebnik in možnost -N poda ime klona . Če želite preveriti, ali je bil vsebnik kloniran, uporabite ukaz lxc-ls :

Posnetki

Recimo, da boste pred spremembami v vsebniku naredili nekaj potencialno nevarnih ali težko obnovljivih, kot je ponovna konfiguracija spletnega strežnika. Če želite zmanjšati škodo, lahko pred takšno spremembo ustvarite posnetek vsebnika. Če se med konfiguracijo nekaj zgodi, lahko preprosto ustavite vsebnik in ga obnovite v prejšnje delovno stanje, tako da obnovite posnetek.

Če želite ustvariti posnetek, najprej ustavite vsebnik :

[izvorna koda] lxc-stop -n ubu1 [/ izvorna koda]

Nato ustvarite posnetek z lxc-snapshot :

[izvorna koda] lxc-posnetek -n ubu1 [/ izvorna koda]

To ustvari posnetek, imenovan snap0 . Vsi poznejši posnetki, ki jih ustvarite s tem ukazom, bodo imenovani snap1, snap2 itd.

Po tem lahko zaženete posodo in naredite želene spremembe. Če se želite kadar koli vrniti na posnetek, ki ste ga ustvarili, ustavite vsebnik in z lxc-snapshot s parametrom -r obnovite posnetek :

[izvorna koda] lxc-posnetek -r snap0 -n ubu1 [/ sourcecode]

To bo obnovilo posnetek snap0 v vsebnik ubu1 .

Samodejni zagon zabojnikov pri zagonu

Posodo, na primer zabojnik za spletni strežnik, lahko zaženete samodejno, ko zaganjate sistem. Če želite to narediti, pojdite v konfiguracijsko datoteko vsebnika, ki je v konfiguraciji $HOME/.local/share/lxc//config in dodajte naslednje vrstice :

[izvorna koda] lxc.start.auto = 1
lxc.start.delay = 5 [/ sourcecode]

Prva vrstica določa, da je treba vsebino zagnati ob zagonu. Drugi ukazuje sistemu, naj počaka 5 sekund, preden začne naslednji vsebnik, če obstaja.

Odpravljanje težav

Če imate težave pri zagonu vsebnikov, morate najprej poskusiti zagnati ukaz lxc-start v načinu lxc-start . Na primer:

[izvorna koda] lxc-start -n ubu1 -F [/ izvorna koda]

To vam bo pokazalo napake na trenutni konzoli, kar je zelo koristno pri ugotavljanju narave problema.

Težave z delovanjem več kontejnerjev hkrati

Če poskusite zagnati več kontejnerjev hkrati, boste morda videli napake, kot je »dosežena kvota« ali »ni uspelo ustvariti konfiguriranega omrežja«. To je zato, ker uporabljate več omrežnih vmesnikov, kot vam je dodeljeno. Število omrežnih mostov, ki jih uporabnik lahko zažene, lahko povečate s spreminjanjem datoteke /etc/lxc/lxc-usernet kot korena . Morda je videti tako:

[izvorna koda] # USERNAME TYPE BRIDGE COUNT
beebom veth lxcbr0 5 [/ izvorna koda]

Številko na koncu (5 v tem primeru) lahko spremenite na večje število, kot je 10. To vam bo omogočilo, da boste lahko zagnali do 10 zabojnikov naenkrat.

Druge uporabe vsebnikov za Linux

Kontejnerji Linux imajo različne namene. Lahko jih uporabite kot lahke testne polja, na primer, da preizkusite različne konfiguracije spletnega strežnika ali strežnika baz podatkov, preden jih naredite na produkcijskem strežniku. Drugi primer uporabe je preizkusiti, kako aplikacija deluje na različnih različicah različnih distrosov.

Uporabite jih lahko tudi za izolacijo aplikacij, ki jim ne zaupate - vsaka škoda, ki jo povzroči ta aplikacija, bo omejena na lasten vsebnik in ne bo vplivala na gostiteljski sistem. Upoštevajte, da čeprav je mogoče izvajati aplikacije GUI v zabojniku, je potrebno veliko časa in truda in zato ni priporočljivo. Če želite zagnati aplikacije v grafičnem vmesniku v peskovniku, si oglejte naš članek o tem, kako v okolju Linux uporabiti aplikacije v okolju.

Hkrati z vsebniki Linux poganjajte več distrosov

Tako se konča naš How-To pri zagonu več Linux distribucij na enem računalniku, brez dodatnih stroškov virtualne naprave v polni velikosti. Uporabnost te tehnologije je omejena le z vašo ustvarjalnostjo, zato se lahko brezskrbno preizkusite in odkrijte nove primere uporabe. Če imate težave pri postavljanju zabojnikov, nas lahko vprašate v oddelku za komentarje.

Top