Kā Dockerize Node.js lietojumprogrammu

Ka Dockerize Node Js Lietojumprogrammu



Lietojumprogrammas dokerizēšana ietver visu lietojumprogrammas izpildei nepieciešamo priekšnosacījumu norādīšanu un pēc tam Dockerfile izmantošanu, lai izveidotu specializētu Docker attēlu, ko var koplietot ar dažādām iekārtām. Dokerēšana Node.js ” lietojumprogramma uzlabo konsekvenci un nodrošina ērtu atkļūdošanu izstrādātāja galā.

Priekšnoteikumi







Priekšnosacījumi, lai dokerētu ' Node.js ” pieteikumā ir iekļauts šāds:



  • Docker uzstādīšana.
  • Pamata izpratne par Node.js lietojumprogrammu.

Kā Dockerize Node.js lietojumprogrammu?

A ' Node.js Lietojumprogrammu var dockerizēt, veicot šādas darbības:



1. darbība. Izveidojiet failu “package.json”.





Vispirms izveidojiet jaunu direktoriju, kurā būs visi faili. Šajā direktorijā izveidojiet ' pack.json ” failu, kas attēlo lietotni kopā ar tās atkarībām:

{
'vārds' : 'docker_web_app' ,
'versija' : '1.0.0' ,
'apraksts' : 'Node.js vietnē Docker' ,
'autors' : 'Pirmais Pēdējais ' ,
'galvenais' : 'serveris.js' ,
'skripti' : {
'sākt' : 'mezgls serveris.js'
} ,
'atkarības' : {
'izteikt' : '^4.18.2'
} }



2. darbība: ģenerējiet failu “package-lock.json”.

Failā “package.json” izpildiet “ npm instalēšana ” cmdlet. Tas radīs ' pack-lock.json ” failu, kas tiek kopēts uz Docker attēlu, šādi:

npm uzstādīt

3. darbība: izveidojiet serveri

Pēc tam izveidojiet ' serveris.js ' failu, kas deklarē tīmekļa lietotni, kas izmanto ' Express.js ietvars:

'izmantojiet stingri' ;

const izteikt = prasīt ( 'izteikt' ) ;

const PORT = 8080 ;
const HOST = '0.0.0.0' ;

const app = express ( ) ;
app.get ( '/' , ( req, res ) = > {
atkārtoti nosūtīt ( 'Sveika pasaule' ) ;
} ) ;

app.klausīt ( OST, HOST, ( ) = > {
console.log ( ` Darbojas vietnē http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Tagad pāriesim pie metodikas, lai izpildītu lietojumprogrammu Docker konteinerā, izmantojot oficiālu Docker attēlu.

4. darbība: izveidojiet Docker failu

Manuāli izveidojiet Dockerfile tajā pašā direktorijā, kurā ir visi faili. Šajā failā ierakstiet šādu koda rindu:

NO mezgla: 18
DARBA DIREKTĪVĀ / usr / src / lietotne
KOPĒT paketi * .json . /
RUN npm uzstādīt
KOPĒT. .
ATKLĀJOT 8080
CMD [ 'mezgls' , 'serveris.js' ]

Iepriekš minētajā koda fragmentā veiciet tālāk norādītās darbības.

  • Pirmkārt, izmantojiet mezgla jaunāko ilgtermiņa atbalsta versiju 18 kā pamatattēlu, kas ietverts Docker Hub .
  • Pēc tam izveidojiet direktoriju, kurā attēlā ir ietverts lietotnes kods.
  • Tas attēlo lietojumprogrammas darba direktoriju.
  • Tagad instalējiet lietotņu atkarības, izmantojot “ npm ”.
  • Piezīme: Ja tiek izmantota npm 4. versija vai vecāka versija, fails “package-lock.json” netiks izveidots.
  • Tagad kopējiet ' pack.json ” failu. Tāpat savienojiet lietotnes avota kodu Docker attēlā, izmantojot “ KOPĒT ' instrukcija.
  • Izmantojiet ' ATKLĀJOT ” instrukcija, lai ļautu lietotnei izveidot savienojumu ar portu 8080.
  • Visbeidzot, definējiet cmdlet, lai izpildītu lietojumprogrammu, izmantojot CMD, kas nosaka izpildlaiku. Šeit “ mezgla serveris.js ” cmdlet tiks izmantota servera iniciēšanai.

5. darbība. Izveidojiet failu “.dockerignore”.

Izveidojiet '.dockerignore' failu mapē ' Dockerfile ” direktoriju/mapi, kas satur tālāk norādīto saturu:

node_modules
npm-debug.log

Šis saturs izvairās no vietējiem moduļiem un atkļūdošanas žurnāliem, kas attiecīgi tiek kopēti Docker attēlā.

6. darbība: izveidojiet attēlu

Tagad direktorijā, kurā ir Dockerfile, izveidojiet attēlu, izmantojot tālāk norādīto cmdlet:

dokera uzbūve. -t nodejs / mezgla tīmekļa lietotne

Šajā cmdlet ' nodejs ' attiecas uz direktorija nosaukumu, tāpēc attiecīgi norādiet cmdlet un ' -t ” karodziņš atzīmē attēlu.

Tagad uzskaitiet attēlus, izmantojot šo komandu:

dokera attēli

7. darbība: palaidiet attēlu

Izpildiet/palaidiet attēlu, izmantojot tālāk norādīto cmdlet:

dokera skrējiens -lpp 49160 : 8080 -d nodejs / mezgla tīmekļa lietotne

Šeit “ -lpp ' karogs novirza publisko ostu uz privātu konteinerā un ' -d ” karodziņš izpilda konteineru atdalītā režīmā, t.i., fonā.

8. darbība: ģenerējiet lietotnes izvadi

Tagad izdrukājiet lietojumprogrammas izvadi, izmantojot šādas komandas:

dokeris ps
doku baļķi 77b1e3c8576e

Ja ir nepieciešams pārvietoties konteinera apvalkā, izmantojiet “ izpild ” cmdlet:

dokeris izpild -tas 77b1e3c8576e / atkritumu tvertne / bash

Šeit, ' 77b1e3c8576e ” apzīmē konteinera ID, ko var kopēt, izmantojot izpildīto dokeris ps ” komandu iepriekš.

9. darbība: lietojumprogrammas pārbaude

Lai pārbaudītu lietojumprogrammu, izgūstiet tās lietotnes portu, kuru kartēja Docker:

dokeris ps

Iepriekš minētajā cmdlet Docker kartēja “ 8080 'osta konteinerā uz ostu' 49160 ” uz mašīnas.

10. darbība: lietojumprogrammas izsaukšana

Izsaukt lietojumprogrammu, izmantojot ' čokurošanās ” cmdlet, atsaucoties uz iepriekš kartēto portu un ievadot vajadzīgās vērtības:

čokurošanās -i localhost: 49160

11. darbība: aizveriet/nogaliniet lietojumprogrammu

Visbeidzot, izslēdziet lietojumprogrammu, izmantojot “ nogalināt ” cmdlet:

dokeris nogalināt 77b1e3c8576e

Tāpat apstipriniet, vai lietojumprogramma ir apstājusies, izmantojot šo komandu ar ievades vērtībām:

čokurošanās -i localhost: 49160

Secinājums

A ' Node.js ” lietojumprogrammu var dokerizēt, izveidojot serveri, dockerfile, failu “.dockerignore”, izveidojot un palaižot attēlu, ģenerējot lietotnes izvadi un pārbaudot, aizverot un apstiprinot lietojumprogrammas apturēšanu. Šajā rakstā ir aprakstīta lietojumprogrammas Node.js dokķēšana.