Ako dockerizovať aplikáciu Node.js

Ako Dockerizovat Aplikaciu Node Js



Dockerizácia aplikácie zahŕňa špecifikáciu všetkých predpokladov potrebných na spustenie aplikácie a následné využitie súboru Docker na vytvorenie špecializovaného obrazu Docker, ktorý možno zdieľať s rôznymi počítačmi. Ukotvenie „ Node.js “ aplikácia zlepšuje konzistenciu a zaisťuje pohodlné ladenie na konci vývojára.

Predpoklady







Predpoklady pre ukotvenie „ Node.js 'aplikácia obsahuje nasledovné:



  • Inštalácia dockera.
  • Základné pochopenie aplikácie Node.js.

Ako dockerizovať aplikáciu Node.js?

A “ Node.js Aplikácia môže byť ukotvená pomocou nasledujúcich krokov:



Krok 1: Vytvorte súbor „package.json“.





Najprv vytvorte nový adresár, kde budú všetky súbory. V tomto adresári vytvorte „ package.json ” súbor, ktorý predstavuje aplikáciu spolu s jej závislosťami:

{
'názov' : 'docker_web_app' ,
'verzia' : '1.0.0' ,
'popis' : 'Node.js na Docker' ,
'autor' : 'Prvý posledný ' ,
'Hlavná' : 'server.js' ,
'skriptá' : {
'štart' : 'node server.js'
} ,
'závislosti' : {
'expresné' : '^4.18.2'
} }



Krok 2: Vytvorte súbor „package-lock.json“.

V súbore „package.json“ spustite súbor „ inštalácia npm cmdlet. Tým sa vygeneruje „ package-lock.json “, ktorý sa skopíruje do obrazu Docker takto:

npm Inštalácia

Krok 3: Vytvorte server

Potom vytvorte „ server.js “, ktorý deklaruje webovú aplikáciu využívajúcu „ Express.js “rámec:

'používať prísne' ;

const express = vyžadovať ( 'expresné' ) ;

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

const app = expresné ( ) ;
app.get ( '/' , ( req, req ) = > {
znova.odoslať ( 'Ahoj svet' ) ;
} ) ;

app.počúvať ( PORT, HOST, ( ) = > {
konzola.log ( ` Beží na http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Teraz prejdime k metodológiám na spustenie aplikácie v kontajneri Docker prostredníctvom oficiálneho obrázka Docker.

Krok 4: Vytvorte Dockerfile

Vytvorte Dockerfile manuálne v rovnakom adresári, ktorý obsahuje všetky súbory. Do tohto súboru napíšte nasledujúci riadok kódu:

Z uzla: 18
WORKDIR / usr / src / aplikácie
KOPÍROVAŤ balík * .json /
RUN npm Inštalácia
KOPÍROVAŤ . .
VYSTAVIŤ 8080
CMD [ 'uzol' , 'server.js' ]

Vo vyššie uvedenom útržku kódu použite kroky uvedené nižšie:

  • Najprv použite najnovšiu dlhodobú podporu verzie 18 uzla ako základný obrázok obsiahnutý v Docker Hub .
  • Potom vytvorte adresár, ktorý bude obsahovať kód aplikácie na obrázku.
  • Toto predstavuje pracovný adresár pre aplikáciu.
  • Teraz nainštalujte závislosti aplikácie cez „ npm “.
  • Poznámka: Ak sa používa npm verzia 4 alebo staršia, súbor „package-lock.json“ sa nevytvorí.
  • Teraz skopírujte „ package.json “. Zdrojový kód aplikácie tiež pripojíte k obrázku Docker prostredníctvom „ KOPÍROVAŤ “ pokyn.
  • Využite „ VYSTAVIŤ “, aby sa aplikácia naviazala na port 8080.
  • Nakoniec definujte cmdlet na spustenie aplikácie cez CMD, ktorý definuje runtime. Tu je „ uzol server.js ” cmdlet sa použije na spustenie servera.

Krok 5: Vytvorte súbor „.dockerignore“.

Vytvorte súbor „.dockerignore“ v súbore „ Dockerfile ” adresár/priečinok obsahujúci nižšie uvedený obsah:

node_modules
npm-debug.log

Tento obsah sa vyhýba lokálnym modulom a protokolom ladenia, ktoré sa majú skopírovať do obrazu Docker.

Krok 6: Vytvorte obrázok

Teraz v adresári, ktorý obsahuje súbor Dockerfile, vytvorte obrázok pomocou nižšie uvedeného cmdlet:

zostava dockera. -t nodejs / node-web-app

V tomto cmdlet „ nodejs “ sa vzťahuje na názov adresára, preto podľa toho zadajte cmdlet a znak „ -t Vlajka ” označuje obrázok.

Teraz zadajte zoznam obrázkov pomocou tohto príkazu:

obrázky dockerov

Krok 7: Spustite obrázok

Spustite/spustite obrázok pomocou nižšie uvedeného cmdlet:

docker spustiť -p 49160 : 8080 -d nodejs / node-web-app

Tu je „ -p Príznak ” presmeruje verejný port na súkromný v kontajneri a znak “ -d ” príznak spustí kontajner v oddelenom režime, t. j. na pozadí.

Krok 8: Vytvorte výstup aplikácie

Teraz vytlačte výstup aplikácie pomocou nasledujúcich príkazov:

doker ps
docker protokoly 77b1e3c8576e

Ak je potrebné navigovať v rámci kontajnera, použite „ exec ” cmdlet:

doker exec -to 77b1e3c8576e / kôš / bash

Tu, ' 77b1e3c8576e “ predstavuje ID kontajnera, ktoré možno skopírovať prostredníctvom spusteného „ docker ps ” predtým.

Krok 9: Testovanie aplikácie

Na otestovanie aplikácie získajte port aplikácie, ktorý Docker namapoval:

doker ps

Vo vyššie uvedenom cmdlet Docker namapoval „ 8080 „prístav v kontajneri do prístavu“ 49160 “ na stroji.

Krok 10: Vyvolanie aplikácie

Vyvolajte aplikáciu cez „ zvlniť ” cmdlet odkazom na vyššie namapovaný port a zadaním požadovaných hodnôt:

zvlniť -i localhost: 49160

Krok 11: Zatvorte/zabite aplikáciu

Nakoniec vypnite aplikáciu pomocou „ zabiť ” cmdlet:

doker zabiť 77b1e3c8576e

Pomocou tohto príkazu tiež potvrďte, či sa aplikácia zastavila so vstupnými hodnotami:

zvlniť -i localhost: 49160

Záver

A “ Node.js Aplikácia môže byť ukotvená vytvorením servera, súboru dockerfile, súboru „.dockerignore“, vytvorením a spustením obrazu, vygenerovaním výstupu aplikácie a otestovaním, zatvorením a potvrdením zastavenia aplikácie. Tento článok sa zaoberá ukotvením aplikácie Node.js.