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: 18WORKDIR / 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_modulesnpm-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 psdocker 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.