Mitokana ny tontolo fampandrosoana miaraka amin'ny kaontenera LXD

Hiresaka momba ny fomba fiasa amin'ny fandaminana ny tontolo fampandrosoana mitoka-monina ao amin'ny toeram-piasako aho. Ny fomba fiasa dia novolavolaina teo ambany fitarihan'ireto antony manaraka ireto:

  • Mila IDE sy rojom-pitaovana samihafa ny fiteny samihafa;
  • Ny tetikasa samihafa dia mety mampiasa dikan-teny samihafa amin'ny rojom-pitaovana sy tranomboky.

Ny fomba fiasa dia ny fampivoarana ao anatin'ny kaontenera LXD mandeha eo an-toerana amin'ny solosaina finday na toeram-piasana miaraka amin'ny famoahana sary alefa any amin'ny mpampiantrano.

Configuration ohatra Ubuntu 20.04.

Ny fisaintsainana momba ny safidy sy ny antony dia omena any amin'ny faran'ny lahatsoratra.

1. Fametrahana LXD

Π’ Ubuntu 20.04 LXD dia tsy azo apetraka ho fonosana deb intsony, amin'ny alΓ lan'ny snap ihany:

$ snap install lxd

Aorian'ny fametrahana dia mila manao initialization ianao:

$ lxd init

Ny hany parameter ovaiko dia storage bakend - Ampiasaiko dir toy ny tsotra indrindra. Satria tsy mampiasa sary sy kopia aho, ny fampitandremana ao tahirin-kevitra Tsy mampatahotra ahy izy ireo:

Toy izany koa, ny backend lahatahiry dia heverina ho safidy farany.
Izy io dia manohana ny endri-javatra lehibe rehetra LXD, saingy miadana sy tsy mahomby satria tsy mahavita azy
dika mitovy na sary avy hatrany ary noho izany dia mila mandika ny fitambaran'ny fitahirizana ilay ohatra isaky ny mandeha.

2. Fametrahana mombamomba LXD

Ny mombamomba ny LXD - ireo dia andiana masontsivana ampiharina amin'ny kaontenera maromaro. Ho an'ny filΓ ko, ny mombamomba tokana noforonin'ny default dia ampy ho ahy default miaraka amin'ireto fanovana manaraka ireto:

  • $ lxc profile device add default X0 disk source=/tmp/.X11-unix/X0 path=/tmp/.X11-unix/X0 - mba ahafahan'ny fampiharana ao anaty container hifanerasera amin'ny mpizara X11 mpampiantrano;
  • $ lxc profile set default environment.DISPLAY :0 - ka ny fari-piainan'ny tontolo iainana DISPLAY napetraka tsara tao anaty fitoeran-javatra;
  • $ lxc profile set default raw.idmap "both 1000 1000" - ho an'ny marina sarintany famantarana.

3. Mamorona sy mametraka fitoeran-javatra

Mamorona fitoeran-javatra mifototra amin'ny sary images:ubuntu/20.04:

$ lxc launch images:ubuntu/20.04 dev1

Aleoko sary avy amin'ny tahiry https://images.linuxcontainers.org, satria tsy dia manana lozisialy efa napetraka mialoha izy ireo. Noho izany antony izany dia nampiako ny prefix images: amin'ny anaran'ny sary. Ny famoronana container mifototra amin'ny sary avy amin'ny tahiry Ubuntu dia azo atao toy izao manaraka izao: $ lxc launch ubuntu/20.04 dev1.

Fidirana amin'ny akoran'ny fakan'ny fitoeran-javatra:

$ lxc exec dev1 -- bash

Hametraka Firefox sy VS Code aho (avy amin'ny tahiry araka ny toromarika):

$ apt update
$ apt install curl gpg firefox

$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list

$ apt update
$ apt install code

Hampiditra kaontenera ho an'ny mazava aho.

poweroff

Bonus! Tena mora ny manipy GPU ao anaty fitoeran-javatra iray mba hahafahan'ireo fampiharana mandeha ao aminy mampiasa ny karatra grafika. Mba hanaovana izany dia mila:

  • ampio fitaovana $ lxc config device add dev1 mygpu gpu;
  • mametraka mpamily karatra video ao amin'ny kaontenera - ireo izay napetraka amin'ny mpampiantrano.

4. Mampiasa fitoeran-javatra

Raha mbola tsy mandeha ny container dia mila manomboka izany ianao:

lxc start dev1

Mihazakazaka VS Code ho mpampiasa tsy root Ubuntu:

lxc exec dev1 -- sudo --login --user ubuntu code

Alefaso ny Firefox:

lxc exec dev1 -- sudo --login --user ubuntu firefox

Ny fikandrana fampiharana dia haseho amin'ny mpampiantrano, fa hovonoina ao anaty fitoeran-jiro izy ireo - mitovy amin'ny fandefasana sary amin'ny ssh.

Tsy manakatona ny kaontenera mandeha amin'ny tanana aho, satria tsy dia hitako loatra ny dikany - mametra ny tenako amin'ny fanakatonana ny varavarankelin'ny fampiharana mihazakazaka aho.

5. Fehiny

Aleoko tsy mampiasa OS fampiantranoana ho an'ny fampandrosoana, satria izany dia mitaky ny fametrahana fitaovana fampandrosoana, ny debug dikan-ny trano famakiam-boky, ny configuring ny singa rafitra amin'ny fomba manokana, ary manipulations hafa. Izany rehetra izany dia mety hitarika amin'ny fihetsika tsy ampoizina amin'ny rindrambaiko tsy fampandrosoana hafa, na ny OS manontolo mihitsy aza. Ohatra, ny fiovana amin'ny fanokafana OpenSSL dia mety hampiato ny OS tsy hanomboka tsara.

Nanandrana fitaovana isan-karazany aho hanavahana ny tontolo fampandrosoana:

  • milina virtoaly (KVM, VirtualBox, sns) no safidy miharihary indrindra, saingy mandany loharanon-karena bebe kokoa izy ireo, na dia tsy misy safidy hafa ho an'ny fampandrosoana eo ambanin'ny Windows (raha Linux ny mpampiantrano);
  • fitaovana fampivoarana rahona mandeha amin'ny milina eo an-toerana (Cloud9 amin'ny kaontenera na milina virtoaly, Eclipse Che, sns.) - tsy novolavolaina ho an'ity fomba fiasa ity izy ireo, mitaky fanamafisana sy fikojakojana fanampiny, tsara kokoa ny mampiasa azy ireo amin'ny tanjony. tanjona - ao amin'ny rahona;
  • Ny kaontenera Docker dia natao ho an'ny zavatra hafa indray; Raha ny hevitro dia tsy dia mety loatra amin'ny fanaovana prototyping haingana amin'ny fampiasana rindrambaiko izay tsy mbola voafono ao anaty fitoeran-javatra misaraka.

Ny fomba fiasa voafidy dia mampiaiky ahy amin'ny fahatsorany sy ny sakana ambany amin'ny fidirana. Ao amin'ny kaontenera ihany, azonao atao ny mampiasa fomba fiasa manokana amin'ny tetikasa: mametraka sy manamboatra ny zava-drehetra amin'ny tanana, na mampiasa automatique (Saribakoly, Ansible, sns.) Fotodrafitrasa miorina amin'ny Docker. Mampiasa kaontenera LXD ihany koa aho mba hampandehanana rindrambaiko manokana izay mitaky fametrahana fiankinan-doha marobe na dikan-teny OS hafa - amin'ity tranga ity dia afaka mamorona container miaraka amin'ny dikan-teny OS tianao ianao, ohatra. $ lxc launch images:ubuntu/16.04 dev16.

Zava-dehibe ny mitadidy fa amin'ny resaka fitokana-monina, ny containerization dia manana sehatra fanafihana lehibe kokoa raha oharina amin'ny virtualization - ny mpampiantrano sy ny container dia mizara fototra tokana, vulnerable izay ahafahan'ny malware miala amin'ny container. Rehefa manandrana rindrambaiko mampiahiahy dia tsara kokoa ny mampiasa mekanika mitoka-monina mety kokoa.

rohy mahasoa

Source: www.habr.com

Add a comment