Programos dockerizavimas apima visų būtinų sąlygų, reikalingų programai vykdyti, nurodymą ir Dockerfile naudojimą kuriant specializuotą Docker vaizdą, kurį galima bendrinti su įvairiais įrenginiais. „Dokeravimas“ Node.js “ programa padidina nuoseklumą ir užtikrina patogų derinimą kūrėjo pabaigoje.
Būtinos sąlygos
Būtinos sąlygos „ Node.js “ paraiška apima šiuos dalykus:
- Docker diegimas.
- Pagrindinis Node.js programos supratimas.
Kaip prijungti „Node.js“ programą?
A “ Node.js “ programa gali būti prijungta prie doko atliekant šiuos veiksmus:
1 veiksmas: sukurkite failą „package.json“.
Pirmiausia sukurkite naują katalogą, kuriame bus visi failai. Šiame kataloge sukurkite „ package.json “ failą, vaizduojantį programą ir jos priklausomybes:
{'vardas' : „docker_web_app“ ,
'versija' : '1.0.0' ,
'apibūdinimas' : „Node.js on Docker“ ,
'autorius' : 'Pirmas Paskutinis ' ,
'pagrindinis' : 'serveris.js' ,
'scenarijai' : {
'pradėti' : 'mazgo serveris.js'
} ,
'priklausomybės' : {
'išreikšti' : '^4.18.2'
} }
2 veiksmas: sugeneruokite failą „package-lock.json“.
Failo „package.json“ viduje paleiskite „ npm diegimas “ cmdlet. Tai sukurs „ package-lock.json “ failą, kuris nukopijuotas į „Docker“ vaizdą, kaip nurodyta toliau:
npm diegti
3 veiksmas: sukurkite serverį
Po to sukurkite „ server.js “ failą, kuris deklaruoja žiniatinklio programą, naudojančią „ Express.js ' sistema:
„naudokite griežtai“ ;const express = reikalauti ( 'išreikšti' ) ;
const PORT = 8080 ;
const HOST = „0.0.0.0“ ;
const programa = express ( ) ;
app.get ( '/' , ( req, res ) = > {
pers.siųsti ( 'Labas pasauli' ) ;
} ) ;
app.klausykite ( PORT, HOST, ( ) = > {
console.log ( ` Veikia http: // ${HOST} : ${PORT} ` ) ;
} ) ;
Dabar pereikime prie metodų, kaip vykdyti programą „Docker“ konteineryje naudojant oficialų „Docker“ vaizdą.
4 veiksmas: sukurkite „Dockerfile“.
Sukurkite Dockerfile rankiniu būdu tame pačiame kataloge, kuriame yra visi failai. Šiame faile parašykite šią kodo eilutę:
IŠ mazgo: 18DARBO VADOVAS / usr / src / programėlė
KOPIJUOJI paketą * .json . /
RUN npm diegti
KOPIJUOT. .
ATSAKYTI 8080
CMD [ 'mazgas' , 'serveris.js' ]
Aukščiau pateiktame kodo fragmente atlikite toliau nurodytus veiksmus.
- Pirmiausia naudokite naujausią ilgalaikio palaikymo 18 mazgo versiją kaip pagrindinį vaizdą, esantį Docker Hub .
- Po to sukurkite katalogą, kuriame būtų programos kodas vaizde.
- Tai rodo programos darbo katalogą.
- Dabar įdiekite programos priklausomybes naudodami „ npm “.
- Pastaba: Jei naudojama 4 ar senesnė npm versija, „package-lock.json“ failas nebus sukurtas.
- Dabar nukopijuokite „ package.json “ failą. Taip pat sujunkite programos šaltinio kodą „Docker“ vaizde naudodami „ KOPIJA “ instrukcija.
- Pasinaudokite ' ATSAKYTI “ nurodymą leisti programai susieti su 8080 prievadu.
- Galiausiai, apibrėžkite cmdlet, kad paleistumėte programą per CMD, kuri apibrėžia vykdymo laiką. Čia „ mazgo serveris.js ” cmdlet bus naudojamas serveriui inicijuoti.
5 veiksmas: sukurkite „.dockerignore“ failą
Sukurkite „.dockerignore“ failą „ Dockerfile “ katalogą / aplanką, kurį sudaro toliau pateiktas turinys:
mazgų_moduliainpm-debug.log
Šiame turinyje išvengiama vietinių modulių ir derinimo žurnalų, kurie atitinkamai turi būti nukopijuoti į „Docker“ vaizdą.
6 veiksmas: sukurkite vaizdą
Dabar kataloge, kurį sudaro Dockerfile, sukurkite vaizdą naudodami toliau nurodytą cmdlet:
dokerio konstrukcija. -t nodejs / mazgas-web-app
Šioje cmdlet „ nodejs “ reiškia katalogo pavadinimą, todėl atitinkamai nurodykite cmdlet ir „ -t “ vėliavėlė pažymi vaizdą.
Dabar surašykite vaizdus naudodami šią komandą:
dokerio vaizdai
7 veiksmas: paleiskite vaizdą
Vykdykite / paleiskite vaizdą naudodami toliau nurodytą cmdlet:
dokininko bėgimas -p 49160 : 8080 -d nodejs / mazgas-web-app
Čia „ -p “ vėliavėlė nukreipia viešąjį uostą į privatų konteineryje esantį uostą ir „ -d “ vėliavėlė vykdo konteinerį atskirtu režimu, t. y. fone.
8 veiksmas: sugeneruokite programos išvestį
Dabar išspausdinkite programos išvestį naudodami šias komandas:
dokininkas psdokerio rąstai 77b1e3c8576e
Jei reikia naršyti konteinerio apvalkale, naudokite „ vykdytojas ' cmdlet:
dokininkas vykdytojas -tai 77b1e3c8576e / šiukšliadėžė / bash
Čia, ' 77b1e3c8576e “ reiškia konteinerio ID, kurį galima nukopijuoti naudojant vykdomą dokeris ps “ komandą anksčiau.
9 veiksmas: programos testavimas
Norėdami išbandyti programą, gaukite programos, kurią „Docker“ susiejo, prievadą:
dokininkas ps
Aukščiau pateiktoje cmdlet „Docker“ susiejo „ 8080 'uostas konteineryje į uostą' 49160 “ ant mašinos.
10 veiksmas: programos iškvietimas
Iškvieskite programą naudodami „ garbanoti ” cmdlet, nurodydami aukščiau susietą prievadą ir įvesdami reikiamas reikšmes:
garbanoti -i localhost: 49160
11 veiksmas: uždarykite / užmuškite programą
Galiausiai išjunkite programą naudodami „ nužudyti “ cmdlet:
dokininkas nužudyti 77b1e3c8576e
Taip pat patvirtinkite, ar programa sustojo, naudodami šią komandą su įvesties reikšmėmis:
garbanoti -i localhost: 49160
Išvada
A “ Node.js “ programa gali būti prijungta prie doko sukuriant serverį, dockerfile, „.dockerignore“ failą, sukuriant ir paleidžiant vaizdą, sugeneruojant programos išvestį ir išbandant, uždarant ir patvirtinant programos sustabdymą. Šiame straipsnyje išsamiai aprašomas Node.js programos prijungimas prie doko.