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: 18RADNI 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_modulinpm-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.sdocker 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.