Kako dockerizirati Node.js aplikaciju

Kako Dockerizirati Node Js Aplikaciju



Dockerizacija aplikacije uključuje određivanje svih preduvjeta potrebnih za izvođenje aplikacije i zatim korištenje Dockerfilea za izgradnju specijalizirane Docker slike koja se može dijeliti s različitim strojevima. Dokeriziranje ' Node.js ” poboljšava dosljednost i osigurava prikladno otklanjanje pogrešaka na strani programera.

Preduvjeti







Preduvjeti za dokerizaciju ' Node.js ” uključuje sljedeće:



  • Docker instalacija.
  • Osnovno razumijevanje aplikacije Node.js.

Kako dockerizirati Node.js aplikaciju?

A “ Node.js ” aplikacija se može dokerizirati putem sljedećih koraka:



Korak 1: Stvorite datoteku 'package.json'.





Prvo napravite novi direktorij u kojem će biti sadržane sve datoteke. Unutar ovog direktorija stvorite ' paket.json ” koja predstavlja aplikaciju zajedno s njezinim ovisnostima:

{
'Ime' : 'docker_web_app' ,
'verzija' : '1.0.0' ,
'opis' : 'Node.js na Dockeru' ,
'Autor' : 'Prvi zadnji ' ,
'glavni' : 'server.js' ,
'skripte' : {
'početak' : 'poslužitelj čvora.js'
} ,
'ovisnosti' : {
'izraziti' : '^4.18.2'
} }



Korak 2: Generirajte datoteku 'package-lock.json'.

Unutar datoteke 'package.json' izvršite ' npm instalirati ” cmdlet. Ovo će generirati ' paket-lock.json ” koja se kopira u Docker sliku, kako slijedi:

npm instalirati

Korak 3: Stvorite poslužitelj

Nakon toga stvorite ' server.js ” koja deklarira web aplikaciju koja koristi “ Express.js ' okvir:

'koristi striktno' ;

const express = zahtijevati ( 'izraziti' ) ;

const LUKA = 8080 ;
const HOST = '0.0.0.0' ;

const app = izraziti ( ) ;
app.get ( '/' , ( zahtjev, res ) = > {
res.poslati ( 'Pozdrav svijete' ) ;
} ) ;

aplikacija.slušati ( PORT, HOST, ( ) = > {
konzola.log ( ` Izvodi se na http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Sada prijeđimo na metodologije za izvršavanje aplikacije unutar Docker spremnika putem službene Docker slike.

Korak 4: Stvorite Dockerfile

Ručno izradite Dockerfile unutar istog direktorija koji sadrži sve datoteke. U ovu datoteku napišite sljedeći redak koda:

FROM čvor: 18
RADNI DIR / usr / src / aplikacija
COPY paket * .json . /
POKRENI npm instalirati
KOPIRAJ . .
IZLOŽITI 8080
CMD [ 'čvor' , 'server.js' ]

U gornjem isječku koda primijenite dolje navedene korake:

  • Prvo, upotrijebite najnoviju dugoročnu podršku verzije 18 čvora kao osnovne slike sadržane u Docker Hub .
  • Nakon toga izradite direktorij koji će sadržavati kod aplikacije na slici.
  • Ovo predstavlja radni direktorij za aplikaciju.
  • Sada instalirajte ovisnosti aplikacije putem ' npm ”.
  • Bilješka: Ako se koristi npm verzija 4 ili starija, neće se stvoriti datoteka 'package-lock.json'.
  • Sada kopirajte ' paket.json ' datoteka. Također, grupirajte izvorni kod aplikacije unutar Docker slike putem ' KOPIRATI ” uputa.
  • Iskoristite ' IZLOŽITI ” uputa da se aplikacija veže na priključak 8080.
  • Konačno, definirajte cmdlet za izvršavanje aplikacije putem CMD-a koji definira vrijeme izvođenja. Ovdje, ' poslužitelj čvora.js ” cmdlet će se koristiti za pokretanje poslužitelja.

Korak 5: Stvorite datoteku '.dockerignore'.

Stvorite datoteku '.dockerignore' u ' Dockerfile ” imenik/mapa koja se sastoji od dolje navedenog sadržaja:

čvor_moduli
npm-debug.log

Ovaj sadržaj izbjegava kopiranje lokalnih modula i dnevnika otklanjanja pogrešaka u Docker sliku.

Korak 6: Izgradite sliku

Sada, unutar direktorija koji sadrži Dockerfile, izgradite sliku koristeći dolje navedeni cmdlet:

docker build . -t nodejs / čvor-web-aplikacija

U ovom cmdlet-u, ' nodejs ” odnosi se na naziv direktorija pa navedite cmdlet u skladu s tim i „ -t ” zastavica označava sliku.

Sada popišite slike pomoću ove naredbe:

docker slike

Korak 7: Pokrenite sliku

Izvršite/pokrenite sliku koristeći dolje navedeni cmdlet:

docker run -str 49160 : 8080 -d nodejs / čvor-web-aplikacija

Ovdje, ' -str ' zastavica preusmjerava javni priključak na privatni unutar spremnika i ' -d ” zastavica izvršava spremnik u odvojenom načinu rada, tj. u pozadini.

Korak 8: Generirajte izlaz aplikacije

Sada ispišite izlaz aplikacije pomoću sljedećih naredbi:

lučki radnik p.s
docker dnevnici 77b1e3c8576e

Ako postoji potreba za navigacijom unutar ljuske spremnika, upotrijebite ' izvrs ” cmdlet:

lučki radnik izvrs -to 77b1e3c8576e / kanta za smeće / udarac

Ovdje, ' 77b1e3c8576e ' predstavlja ID spremnika koji se može kopirati putem izvršenog ' docker ps ” naredba prethodno.

Korak 9: Testiranje aplikacije

Za testiranje aplikacije dohvatite priključak aplikacije koji je Docker mapirao:

lučki radnik p.s

U gornjem cmdlet-u, Docker je mapirao ' 8080 'luka unutar kontejnera do luke' 49160 ” na stroju.

Korak 10: Pozivanje aplikacije

Pozovite aplikaciju putem ' kovrča ” cmdlet upućivanjem na gore mapirani port i unosom potrebnih vrijednosti:

kovrča -i lokalni domaćin: 49160

Korak 11: Zatvorite/ukinite aplikaciju

Na kraju, zatvorite aplikaciju putem ' ubiti ” cmdlet:

lučki radnik ubiti 77b1e3c8576e

Također, potvrdite je li aplikacija zaustavljena putem ove naredbe s ulaznim vrijednostima:

kovrča -i lokalni domaćin: 49160

Zaključak

A “ Node.js ” aplikacija se može dockerizirati stvaranjem poslužitelja, dockerfilea, datoteke „.dockerignore”, izgradnjom i pokretanjem slike, generiranjem izlaza aplikacije te testiranjem, zatvaranjem i potvrđivanjem zaustavljanja aplikacije. Ovaj članak razradio je dockerizaciju Node.js aplikacije.