Docker loogu talagalay bilowga: Waa maxay Docker iyo Sida loo Abuuro Weelasha Docker

Haddii aad la xiriirtay horumarkii ugu dambeeyay ee adduunka barnaamijyada dhowrkii sano ee la soo dhaafay, waxaad ogaan lahayd guuxa weyn ee ku xeeran weelasha Docker iyo Docker. Caankani docker ma ahan sabab la'aan. Soo bandhigida Docker waxay si weyn u bedeshay sida horumariyayaashu ula dhaqmaan horumarinta arjiga.

Kumaa raba in laga tago marka tiknoolajiyada noocan oo kale ah ay ku dhacdo adduunka barnaamijyada? Marka, maanta, waxaan kuu bilaabaynaa taxane cusub oo cashar ah oo aad ku baranayso sida loo isticmaalo Docker horumarinta arjiga. Haddii aad tahay qof bilow ah oo buuxda Docker, taxanahan casharradu waa meesha kugu habboon ee aad ka bilaabi karto.

Maqaalka koowaad ee taxanaheena taxanaha ah, waxaan raadineynaa inaan fahanno waxa dhabta ah ee Docker yahay iyo sababta ay horumariyayaashu aad ugu jecelyihiin Docker. Waxaan sidoo kale ku xayeysiineynaa codsi fudud Node.js si aan kuugu barano fikradaha aasaasiga ah ee Docker.


Maxaad u sii sugaysaa? Aynu bilowno!



Waa maxay Docker

Docker waa aalad loo isticmaalo in lagu dhiso barnaamijyada; taasi waa in la abuuro, la geeyo, laguna socodsiiyo codsiyada konteynarrada.


Iyada oo weel leh, dhammaan maktabadaha, iyo kuwa kale ee ku tiirsan ee loo baahan yahay si ay u socodsiiyaan codsi, ayaa loo buuxiyey sidii hal baakid oo loogu talagalay hawlgelinta.

Ujeeddada ugu weyn ee weel-ku-xiridda arjiga waa in laga fogeeyo codsiyada kale ee isla nidaamka ku shaqeeya. Habkani wuxuu hubinayaa in codsiyada aysan faragalin ku sameynin howlaha midba midka kale wuxuuna ka dhigayaa dayactirka dalabka mid aad u fudud.

In kasta oo konteenarrada ku shaqeeya isla nidaamku ay ka go'doonsan yihiin mid kale marka la fulinayo, haddana waxay wadaagaan isla ekaanta OS. Sidaa awgeed, konteenarradu way ka fudud yihiin marka la barbar dhigo xulashada kale ee go'doominta fulinta codsiyada, mashiinnada dalwaddii.

Codsi weel ku shaqeeya oo ka socda Windows OS-kaaga ayaa la damaanad qaadayaa inuu ku shaqeeyo iyada oo aan arrin laga helin mashiinka Windows-ka ee isticmaale kale inkasta oo isbeddelka deegaanka.


In kasta oo kontaynarradu muddo dheer la adeegsanayay ka hor Docker, soo bandhigidda Docker ayaa caan ku noqotay iyadoo la adeegsanayo weellada bulshada horumariyeyaasha. Waxaa jira laba qaybood oo loo isticmaalo marka la adeegsado codsi: Dockerfile iyo Sawirka Docker . Aynu ogaanno waxay yihiin.

Dockerfile

Dockerfile waa feylal qoraal ah oo ka kooban amarro loo baahan yahay si loo dhiso sawir muuqaal ah. Dockerfile waxaa ku jira macluumaad kusaabsan OS-ga salka ku haya, luqadda, meesha feylku ku yaal, iyo dekedaha shabakadda iyo waxyaabo kale.

Sawirka Docker

Markaad maamusho amarka dhismaha ee Docker oo leh meesha loo yaqaan 'dockerfile', oo ah sawir muuqaal ah ayaa la sameeyaa iyada oo ku saleysan dockerfile. Waxay u dhaqmaan sidii arrimo si ay u abuuraan weelka ugu dambeeya ee xirashada. Markaad abuurto, sawirrada xayeysiinta waa kuwo taagan. Waad u yeeri kartaa amarka socodsiinta ee Docker si aad u abuurto weelka weelka adigoo isticmaalaya sawir xirasho.



Ku xareynta Codsiga Node.js

Casharradan, waxaan dooneynaa inaan kala saarno codsi Node.js ah. Waxaan raaci doonnaa talaabo talaabo talaabo ah si aan kor ugu qaadno weelka Docker.


1 - Abuur arjiga Node.js 2 - Abuur dockerfile 3 - Samee sawirka sanduuqa 4 - Abuur weelka dalabka

Kahor intaadan quusin dockerizing barnaamijkeena, waa inaad hubisaa in Docker iyo Node.js lagu rakibay nidaamkaaga

  • Ku rakib Docker nidaamkaaga-Ma dabooli doono sida loo rakibo Docker casharradan, laakiin waxaad raaci kartaa dukumiintiyada Docker oo aad ku rakibi kartaa Docker Windows-kaaga ama desktop Ubuntu.
  • Soo dejiso oo rakib Node.js bogga rasmiga ah

Abuur Codsiga Node.js

U dir galka mashruuca cusub ee amarka-xariiqa oo socod amarka soo socda si aad u abuurto faylka package.json oo ay ku jiraan macluumaad ku saabsan ku tiirsanaanta arjiga iyo qoraalka bilowga ah.

npm init -y


Kadib, rakibo oo ku dar Express sida ku tiirsanaanta dalabkaaga adoo ku amraya amarkan qadka amarka. Waxaan adeegsan doonnaa Express si aan u abuurno barnaamijka.

npm install express --save

Tani waxay ku dari doontaa xawaaraha sida ku tiirsanaanta package.json faylka

Hadda waxaan abuuri karnaa codsi Node ah oo gacan ka helaya Express.


Samee feyl loogu magac daray app.js galka mashruuca kuna dar koodhka soo socda faylka.

const express = require('express') const app = express() app.get('/', (req, res) => {
res.send('Hello World!') }) app.listen(3000, () => {
console.log('Node server has started running') })

Koodhka kor ku xusan wuxuu abuuraa server Node ah oo dhagaysta codsiyada soo socda ee dekedda 3000. Waxaad ku ordi kartaa amarkan qadka amarka si aad u bilowdo serverka Node.

node app.js

Hadda u tag biraawsarkaaga oo raac URL http://localhost:3000 waxaadna arki doontaa qoraalka Hello World! bogga.

Waxaan u dhisnay codsi fudud Node mashruuceena. Hadda aan u gudubno abuurista 'dockerfile'.

Abuur Dockerfile

Dockerfile-ka, waxaan ku siineynaa macluumaad loo baahan yahay si loo dhiso loona maamulo barnaamijkeena Node ee la socda deegaanka Docker.

Tan waxaa ka mid ah in la caddeeyo luqadda iyo nooca loo adeegsaday arjiga, dejinta galka mashruuceenna sida galka shaqada, nuqul ka qaadashada dhammaan faylasha ku jira galka shaqada, dejinta dekedda shabakadda, iyo qeexidda feylka meesha laga gelayo arjiga. Codsiyada aad u adag, waxaad u baahan doontaa inaad dejiso beddelaadyada deegaanka iyo URL-ka keydka macluumaadka ee ku jira dockerfile sidoo kale.

FROM node:latest WORKDIR /dockerTutorial COPY . . RUN npm install EXPOSE 3000 ENTRYPOINT ['node', 'app.js']
  • KA amarku wuxuu dib u soo celiyaa sawir OS ah, si uu ugu socodsiiyo codsigeena OS gaar ah, oo laga helo Docker Hub. Docker Hub waa meel lagu keydiyo sawirrada docker ee aan ugu soo jiidan karno deegaanka deegaanka. Waxaan la soo baxeynaa sawir Ubuntu ku saleysan oo rakibay Node.js. U adeegsiga 'ugu dambeeyay' sida nooca Node uu jiidayo sawir leh nooca Node ee ugu dambeeyay oo la rakibay.
  • SHAQAALAHA amarka ayaa dejinaya galka shaqada ee arjiga.
  • KOOB amarka nuqulada feylasha galka hadda jira (khadka amarka) ilaa galka shaqada ee lagu dejiyay tillaabadii hore. Waad cayimi kartaa magaca faylka si aad u nuquliso ama aad u isticmaasho labalaab joogsi buuxa oo aad nuqul ka sameysid dhammaan faylasha galka hadda ku jira galka shaqada.
  • Orod amarku wuxuu rakibaa dhammaan ku-tiirsanaanta looga baahan yahay inay ku dhisaan arjiga. Tan waxaa ka mid ah dhammaan ku-tiirsanaanta lagu tilmaamay package.json faylka
  • SOO SAAR amarku wuxuu furayaa dekedda laga soo qaado weelka Docker illaa adduunka dibedda. Dakadani waxay heshaa dhammaan codsiyada aan u dirno weelka Docker. Dekedda waxaa si gaar ah loogu qoondeeyay 3000 maxaa yeelay waa dekedda Codsiga Node ee ku jira weelka Docker ee loo adeegsado dhageysiga codsiyada.
  • GALKA wuxuu qeexayaa sida loo bilaabo arjiga. Docker wuxuu ku biirayaa safka aan ku bixinayno hal amar si loo bilaabo arjiga. Xaaladdan oo kale, node app.js.

Dhisida Sawirka Docker

Adeegso amarka soo socda si aad uga sameysato sawirka 'Docker' dockerfile-ka.

docker build -t docker-tutorial .

Docker-tutorial waa magaca sawirka Docker. Dhibicdu waxay tilmaamaysaa dariiqa feyl ee galka mashruuca, oo ah halka aan hadda ku sugan nahay taliska-safka.

Haddii sawirka OS lagu qeexay KA amar, noodhka: ugu dambeeyay , kuma jiro aaladdaada xilligan, waxaa laga soo jiidan doonaa Docker Hub markaad maamusho amarka kor ku xusan.

Ka dib jiidaya sawirka, amar kasta oo ku jira faylka 'dockerfile' mid mid ayaa loo fulin doonaa.

Dhamaadka dilka, hadaad aragto fariinta si guul leh loo dhisay , Sawirka xayeysiinta ee arjiga ayaa si guul leh loo dhisay. Ku ordo amarkan si aad u aragto sawirka xayeysiinta ee ku dhex yaal bakhaarka sawirka maxalliga ah.

docker images

Soo saarku wuxuu u egyahay sidan

Abuuritaanka Weelka

Hadda waxaan u isticmaali karnaa sawirka la dhisay si loo abuuro weelkeenna Docker. Isticmaal amarka socodsiinta sanduuqa si aad u sameysid weelka.

docker run -p 8080:3000 docker-tutorial

Halkan, lambarrada 8080 iyo 3000 waxay muujinayaan bannaanka iyo gudaha weelka. Dekedda Dibadda, 8080, waa dekedda aan u adeegsanno inaan ku xirno arjiga iyada oo loo marayo shabakaddayada internetka. Dekedda gudaha, 3000, waa dekedda codsigeennu dhageysto codsiyada soo socda. Khariidadda weelka Docker waxay maababka dekedda dibedda laga siiyay ee dekedda gudaha ah

Booqo URL | _ _ + _ | biraawsarka oo fiiri haddii aad bogga ku hesho http://localhost:8080 fariin aad heshay markii aad booqaneysay Hello World! ka hor. Hadday haa tahay, markaa weelkaaga Docker ayaa shaqeynaya oo socda.

Waxaad u adeegsan kartaa amarkan si aad u aragto dhammaan weelka socda ee Docker ee qalabkaaga.

http://localhost:3000

Amarku wuxuu ku siin doonaa wax soo saar sidan ah. Waxaan ka heli karnaa CONTAINER_ID iyo MAGAC weelka socda halkan.

Ku Darsiga Beddelaadaha Deegaanka Codsigaaga

Xusuusnow sida aan ugu xusay arjiga leh doorsoomayaasha deegaanka waxay u baahan tahay tilmaamo dheeraad ah oo ku saabsan dockerfile? Qiimaha doorsoomaha deegaanku wuxuu isbeddelayaa deegaanka ay ku dhex socdaan.

Ogsoonow sida aan si cad ugu sheegnay dekedda barnaamijkeenna 'Node' wuxuu dhagaystaa markuu server-ku shaqeynayo. Habkani waa mid aan rogrogmi karin oo qalad u nugul. Haddii aan ku shaqeyno codsigeena jawi aan ka fureynin dekedda 3000 ee serverka Node, codsigeena wuu joogsadaa.

Hirgelinta ugu habboon ayaa lambarka dekedda ka saareysa arjiga. Taabadalkeed, waxaan u isticmaalnaa magac isbeddel meeshii lambarka dekedda ah oo waxaan u dejinnaa qiime isbeddelladaas deegaanka socda. Xaaladdeenna, jawiga socda waa weelka Docker. Marka, waa inaan ku darnaa lambarka dekedda dockerfile-ka sidii deegaan isbeddel leh.

Aan aragno sida aan taas u sameyn karno.

Marka hore, kudar doorsoomaha deegaanka ee dockerfile-keena oo leh qiimahiisa. Waa inaan ku darnaa amar cusub dockerfile-ka si aan tan u dhammaystirno.

docker ps

Isticmaalka amarka ENV oo ay ku xigto magaca isbeddelka iyo meeleynta qiimaha, waxaan ku dari karnaa beddele deegaan cusub boggeena 'dockerfile'. Miyaad ogaatay sida loo badalay amarka EXPOSE 3000 si aan si cad loogu xusin nambarka dekedda? Taabadalkeed, waxaa loola jeedaa doorsoomaha PORT ee la abuuray si loo helo tirada dekedda saxda ah. Qaabkan, haddii ay tahay inaan bedelno nambarka dekedda, waa inaan bedelnaa oo keliya hal meel oo koodhkeenna ka mid ah, taas oo ka dhigaysa dalabkeenna mid sahlan in la ilaaliyo

Hadda waxaan bedelnay faylka 'dockerfile', tallaabada xigta waxay beddeleysaa app.js si loogu tixraaco doorsoomaha deegaanka ee la abuuray. Tan awgeed, waxaan ku beddeleynaa nambarka dekedda 3000 ee loo isticmaalay gudaha habka dhageysiga nidaamka.env.PORT.

FROM node:latest WORKDIR /dockerTutorial COPY . . ENV PORT=3000 RUN npm install EXPOSE $PORT ENTRYPOINT ['node', 'app.js']

Tan iyo markii aan wax ka badalnay feylashayada codsi iyo dockerfile, waa inaan u dhisno sawir cusub weel cusub. Laakiin marka hore, waa inaan joojinno weelka hadda socda ee Docker si tan loo gaaro.

Waxaan u adeegsan karnaa amarka joojinta sanduuqa inuu ku joojiyo weelka.

const express = require('express') const app = express() app.get('/', (req, res) => {
res.send('Hello World!') }) app.listen(process.env.PORT, () => {
console.log('Node server has started running') })

Qiimaha, f10, ee loo adeegsaday amarkan waa saddexda lambar ee ugu horreeya aqoonsiga weelka.

Waxaan u adeegsan karnaa amarka, docker dil, si aan u joojino weelka socda.

docker stop f10

Farqiga udhaxeeya docker iyo joojinta docker ayaa ah joojinta xirashada joojinta weelka si qurux badan iyadoo la siidaayo iyadoo la isticmaalayo ilaha iyo badbaadinta gobolka. Si kastaba ha noqotee, dildilaacaha, si kastaba ha ahaatee, wuxuu joojiyaa weelka si lama filaan ah iyada oo aan si habboon loo sii deynin ilaha ama aan badbaadin gobolka. Weelka ku dhex shaqeeya bey'adda wax soo saarka, isticmaalka dock stop si loo joojiyo weelka ayaa ah xulashada ugu fiican.

Ka dib markaad joojiso weelka socda, hubi inaad ka nadiifiso hadhaaga hadhay weelka ka imanaya deegaanka martida adoo isticmaalaya amarka soo socda.

Ku socodsiinta Weelka Daemon Mode

Markii aad isku daydo inaad maamusho amarrada kor ku xusan si aad u joojiso weelka, waxaad ogaan lahayd in tabka terminal ee aan ku abuuri jirnay weelka aan loo adeegsan karin inuu ku sii amro amarro kale illaa aan dilno weelka. Waxaan ka heli karnaa shaqo-joojin tan iyada oo la adeegsanayo tab gooni ah oo loogu talagalay socodsiinta amarrada cusub.

Laakiin waxaa jira qaab ka wanaagsan. Waxaan ku ordi karnaa weelka qaabka daemon. Iyadoo la adeegsanayo qaabka daemon, weelku wuxuu ku socdaa asalka asaga oo aan adeegsan tabka hadda si loo muujiyo wax soo saarka.

Si aad ugu bilowdid weel ku jira qaabka daemon, waa inaad si fudud ugu darto calan dheeraad ah -d taliska socodsiinta.

docker kill f10

Kumbuyuutarka ugu ordaya hab dhexgal ah

Si aad weel ugu socodsiiso qaabka isdhexgalka, weelka waa inuu horey u sii soconayaa. Markaad ku jirto habka isdhexgalka, waxaad ku ordi kartaa amarro inaad ku darto ama ka saarto faylasha weelka, liis garee faylasha, ama aad maamusho amarro kale oo bash ah oo aan badanaa isticmaalno.

U adeegso amarka soo socda si aad weelka ugu socodsiiso habka is-dhexgalka.

docker run -d -p 8080:3000 docker-tutorial

Halkan, e37 waa Aqoonsiga weelka. La ciyaar hareeraha habka isdhexgalka adoo adeegsanaya amarro bash ah.



Gunaanad

Casharkii ugu horreeyay ee taxanaheenna taxanaha ah ee 'Docker', waxaad ku soo baratay sida loo abuuro weel Docker codsi fudud oo Node.js ah. Laakiin waxaa jira waxyaabo badan oo aad ku sameyn karto Docker iyo weelasha. Casharradeenna soo socda, waxaan arki doonnaa sida loola shaqeeyo xogta, mugga, iyo ula shaqeynta konteynarro badan oo loo adeegsaday codsi lagu dhisay mikroservices.