Cais kev loj hlob ib puag ncig nrog LXD ntim

Kuv yuav tham txog ib txoj hauv kev los txhim kho ib cheeb tsam kev loj hlob nyob ib puag ncig ntawm kuv qhov chaw ua haujlwm. Txoj hauv kev tau tsim los ntawm kev cuam tshuam ntawm cov hauv qab no:

  • Cov lus sib txawv yuav tsum muaj cov IDE thiab cov cuab yeej sib txawv;
  • Cov phiaj xwm sib txawv tuaj yeem siv sib txawv ntawm cov cuab yeej thiab cov tsev qiv ntawv.

Txoj hauv kev yog txhawm rau txhim kho hauv LXD cov thawv uas khiav hauv zos ntawm lub laptop lossis chaw ua haujlwm nrog cov duab tso tawm tau xa mus rau tus tswv tsev.

Piv txwv configuration Ubuntu 20.04.

Kev xav txog cov kev xaiv thiab cov laj thawj raug muab rau hauv qhov kawg ntawm tsab xov xwm.

1. LXD installation

Π’ Ubuntu 20.04 LXD tsis muaj rau kev teeb tsa ua pob deb, tsuas yog ntawm snap:

$ snap install lxd

Tom qab installation koj yuav tsum ua qhov pib:

$ lxd init

Qhov tsuas parameter kuv hloov yog storage bakend - Kuv siv dir raws li qhov yooj yim tshaj plaws. Txij li thaum kuv tsis siv cov duab thiab luam, cov lus ceeb toom hauv cov ntaub ntawv Lawv tsis ntshai kuv:

Ib yam li ntawd, cov ntaub ntawv rov qab yuav tsum raug suav tias yog qhov kev xaiv zaum kawg.
Nws txhawb nqa tag nrho cov yam ntxwv tseem ceeb LXD, tab sis qeeb heev thiab tsis muaj txiaj ntsig vim nws ua tsis tau
cov ntawv luam tam sim lossis snapshots thiab yog li yuav tsum tau luam tag nrho ntawm qhov piv txwv khaws cia txhua lub sijhawm.

2. LXD profile teeb

Profiles hauv LXD - Cov no yog cov txheej txheem siv rau ntau lub thawv. Rau kuv cov kev xav tau, tib qhov profile tsim los ntawm lub neej ntawd yog txaus rau kuv default nrog cov kev hloov hauv qab no:

  • $ lxc profile device add default X0 disk source=/tmp/.X11-unix/X0 path=/tmp/.X11-unix/X0 - yog li cov ntawv thov hauv cov thawv tuaj yeem cuam tshuam nrog tus tswv tsev X11 server;
  • $ lxc profile set default environment.DISPLAY :0 - yog li ntawd ib puag ncig hloov pauv DISPLAY raug ntsia kom raug hauv cov thawv ntim khoom;
  • $ lxc profile set default raw.idmap "both 1000 1000" - rau qhov tseeb daim ntawv qhia kev qhia.

3. Tsim thiab teeb tsa lub thawv

Tsim ib lub thawv raws li daim duab images:ubuntu/20.04:

$ lxc launch images:ubuntu/20.04 dev1

Kuv nyiam cov duab los ntawm qhov chaw cia khoom https://images.linuxcontainers.org, vim lawv muaj tsawg pre-installed software. Vim li no kuv ntxiv cov lus ua ntej images: mus rau lub npe duab. Tsim lub thawv raws li cov duab los ntawm Ubuntu repository tuaj yeem ua tau raws li hauv qab no: $ lxc launch ubuntu/20.04 dev1.

Kev nkag mus rau lub hauv paus plhaub ntawm lub thawv:

$ lxc exec dev1 -- bash

Kuv yuav nruab Firefox thiab VS Code (los ntawm qhov chaw cia khoom raws li cov lus qhia):

$ 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

Kuv mam li suav nrog lub thawv kom pom tseeb.

poweroff

Nyiaj tshwj xeeb! Nws yog qhov yooj yim heev los pov GPU rau hauv lub thawv kom cov ntawv thov khiav hauv nws tuaj yeem siv daim npav duab. Txhawm rau ua qhov no koj xav tau:

  • ntxiv ntaus ntawv $ lxc config device add dev1 mygpu gpu;
  • nruab daim npav video tsav tsheb hauv lub thawv - tib yam uas tau nruab rau ntawm tus tswv tsev.

4. Siv lub thawv

Yog tias lub thawv tseem tsis tau khiav, koj yuav tsum pib nws:

lxc start dev1

Khiav VS Code raws li tus neeg siv tsis yog hauv paus ubuntu:

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

Tua tawm Firefox:

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

Daim ntawv thov qhov rais yuav tshwm rau ntawm tus tswv tsev, tab sis lawv yuav raug tua hauv lub thawv - zoo ib yam li kev xa tawm cov duab siv ssh.

Kuv tsis tau kaw lub thawv khiav, vim kuv tsis pom ntau qhov taw qhia hauv nws - Kuv txwv kuv tus kheej kom kaw qhov rais ntawm cov ntawv thov khiav.

5. Xaus

Kuv xav tsis txhob siv tus tswv OS rau kev txhim kho, vim qhov no yuav xav tau kev txhim kho cov cuab yeej txhim kho, debug versions ntawm cov tsev qiv ntawv, teeb tsa cov txheej txheem hauv ib txoj kev tshwj xeeb, thiab lwm yam kev tswj hwm. Tag nrho cov no tuaj yeem ua rau tus cwj pwm tsis xav txog hauv lwm cov software tsis tsim kho, lossis txawm tias tag nrho OS. Piv txwv li, kev hloov pauv hauv OpenSSL kev teeb tsa tuaj yeem ua rau OS nres pib kom raug.

Kuv tau sim cov cuab yeej sib txawv los cais cov cheeb tsam kev loj hlob:

  • cov tshuab virtual (KVM, VirtualBox, thiab lwm yam) yog qhov kev xaiv pom tseeb tshaj plaws, tab sis lawv siv ntau cov peev txheej, txawm tias tsis muaj lwm txoj hauv kev rau kev txhim kho hauv Windows (yog tias tus tswv tsev yog Linux);
  • huab kev txhim kho cov cuab yeej khiav ntawm lub tshuab hauv zos (Cloud9 hauv lub thawv lossis lub tshuab virtual, Eclipse Che, thiab lwm yam) - lawv tsis yog tsim los rau hom kev ua haujlwm no, lawv xav tau kev teeb tsa thiab kev saib xyuas ntxiv, nws yog qhov zoo tshaj plaws los siv lawv rau lawv lub hom phiaj. hom phiaj - hauv huab;
  • Docker ntim tau rov npaj rau lwm yam; hauv kuv lub tswv yim, lawv tsis yooj yim heev rau kev tsim qauv sai sai siv software uas tseem tsis tau ntim rau hauv cov thawv cais.

Txoj kev xaiv ua rau kuv zoo siab nrog nws txoj kev yooj yim thiab tsis tshua muaj kev cuam tshuam rau kev nkag. Hauv cov thawv ntim lawv tus kheej, koj tuaj yeem siv cov kev qhia tshwj xeeb: nruab thiab teeb tsa txhua yam manually, lossis siv automation (Puppet, Ansible, thiab lwm yam), txawm tias xa mus. Docker-based infrastructure. Kuv kuj siv cov thawv LXD los khiav cov software tshwj xeeb uas yuav tsum tau txhim kho ntau tus neeg nyob hauv lossis ib qho OS version sib txawv - qhov no koj tuaj yeem tsim lub thawv nrog rau qhov xav tau OS version, piv txwv li. $ lxc launch images:ubuntu/16.04 dev16.

Nws yog ib qho tseem ceeb uas yuav tsum nco ntsoov tias nyob rau hauv cov nqe lus ntawm kev sib cais, containerization muaj qhov chaw nres tsheb loj dua piv rau virtualization - tus tswv tsev thiab lub thawv sib koom ib qho tseem ceeb, muaj qhov tsis zoo uas tuaj yeem tso cai rau malware kom dim ntawm lub thawv. Thaum sim nrog dubious software, nws yog qhov zoo dua los siv cov txheej txheem cais tawm tsim nyog.

Pab kev sib txuas lus

Tau qhov twg los: www.hab.com

Ntxiv ib saib