Dockerizace aplikace zahrnuje specifikaci všech nezbytných předpokladů pro spuštění aplikace a následné použití Dockerfile k vytvoření specializovaného obrazu Dockeru, který lze sdílet s různými počítači. Dockerizace „ Node.js “ aplikace zlepšuje konzistenci a zajišťuje pohodlné ladění na konci vývojáře.
Předpoklady
Předpoklady pro dockerizaci „ Node.js “ aplikace zahrnuje následující:
- Instalace dockeru.
- Základní pochopení aplikace Node.js.
Jak dockerizovat aplikaci Node.js?
A ' Node.js “ aplikaci lze ukotvit pomocí následujících kroků:
Krok 1: Vytvořte soubor „package.json“.
Nejprve vytvořte nový adresář, kde budou všechny soubory. V tomto adresáři vytvořte „ package.json ” soubor, který představuje aplikaci spolu s jejími závislostmi:
{'název' : 'docker_web_app' ,
'verze' : '1.0.0' ,
'popis' : 'Node.js na Docker' ,
'autor' : 'První poslední ' ,
'hlavní' : 'server.js' ,
'skripty' : {
'Start' : 'node server.js'
} ,
'závislosti' : {
'vyjádřit' : '^4.18.2'
} }
Krok 2: Vygenerujte soubor „package-lock.json“.
V souboru „package.json“ spusťte „ instalace npm ”cmdlet. Tím se vygeneruje „ package-lock.json “, který se zkopíruje do obrazu Docker, a to následovně:
npm Nainstalujte
Krok 3: Vytvořte server
Poté vytvořte „ server.js “, který deklaruje webovou aplikaci využívající „ Express.js “rámec:
'použij přísné' ;const express = vyžadovat ( 'vyjádřit' ) ;
const PORT = 8080 ;
const HOST = '0.0.0.0' ;
const app = expres ( ) ;
app.get ( '/' , ( req, req ) = > {
znovu.poslat ( 'Ahoj světe' ) ;
} ) ;
app.poslouchat ( PORT, HOST, ( ) = > {
konzole.log ( ' Běží na http: // ${HOST} : ${PORT} ' ) ;
} ) ;
Nyní přejděme k metodologiím pro spuštění aplikace v kontejneru Docker prostřednictvím oficiálního obrazu Dockeru.
Krok 4: Vytvořte Dockerfile
Vytvořte Dockerfile ručně ve stejném adresáři obsahujícím všechny soubory. Do tohoto souboru napište následující řádek kódu:
Z uzlu: 18WORKDIR / usr / src / aplikace
KOPÍROVAT balíček * .json /
RUN npm Nainstalujte
KOPÍROVAT . .
ODHALIT 8080
CMD [ 'uzel' , 'server.js' ]
Ve výše uvedeném fragmentu kódu použijte níže uvedené kroky:
- Nejprve použijte nejnovější verzi dlouhodobé podpory 18 uzlu jako základní obraz obsažený v Docker Hub .
- Poté vytvořte adresář, který bude obsahovat kód aplikace v obrázku.
- To představuje pracovní adresář pro aplikaci.
- Nyní nainstalujte závislosti aplikace pomocí „ npm “.
- Poznámka: Pokud se používá npm verze 4 nebo starší, soubor „package-lock.json“ se nevytvoří.
- Nyní zkopírujte „ package.json “. Sbalte také zdrojový kód aplikace do obrazu Docker prostřednictvím „ KOPÍROVAT “ instrukce.
- Využijte „ ODHALIT “, aby se aplikace navázala na port 8080.
- Nakonec definujte rutinu pro spuštění aplikace přes CMD, která definuje běhové prostředí. Zde, „ uzel server.js K inicializaci serveru bude použita rutina.
Krok 5: Vytvořte soubor „.dockerignore“.
Vytvořte soubor „.dockerignore“ v souboru „ Dockerfile ” adresář/složka obsahující níže uvedený obsah:
node_modulesnpm-debug.log
Tento obsah se vyhýbá místním modulům a protokolům ladění, které mají být zkopírovány do obrazu Dockeru.
Krok 6: Vytvořte obrázek
Nyní v adresáři obsahujícím Dockerfile vytvořte obrázek pomocí níže uvedené rutiny:
sestavení dockeru. -t nodejs / node-web-app
V této rutině „ nodejs “ odkazuje na název adresáře, proto určete odpovídajícím způsobem rutinu a „ -t ” příznak označí obrázek.
Nyní seznam obrázků pomocí tohoto příkazu:
obrázky dockerů
Krok 7: Spusťte obrázek
Spusťte/spusťte obrázek pomocí níže uvedené rutiny:
docker spustit -p 49160 : 8080 -d nodejs / node-web-app
Zde, „ -p příznak ” přesměruje veřejný port na soukromý v rámci kontejneru a znak “ -d příznak ” spustí kontejner v odděleném režimu, tj. na pozadí.
Krok 8: Vygenerujte výstup aplikace
Nyní vytiskněte výstup aplikace pomocí následujících příkazů:
přístavní dělník psprotokoly dockeru 77b1e3c8576e
Pokud je potřeba navigovat v shellu kontejneru, použijte „ exec ”cmdlet:
přístavní dělník exec -to 77b1e3c8576e / zásobník / bash
Tady, ' 77b1e3c8576e “ představuje ID kontejneru, které lze zkopírovat prostřednictvím spuštěného “ docker ps “.
Krok 9: Testování aplikace
Pro testování aplikace načtěte port aplikace, kterou Docker namapoval:
přístavní dělník ps
Ve výše uvedené rutině Docker namapoval „ 8080 „port v kontejneru do portu“ 49160 “ na stroji.
Krok 10: Vyvolání aplikace
Vyvolejte aplikaci pomocí „ kučera ” cmdlet odkazem na výše namapovaný port a zadáním požadovaných hodnot:
kučera -i localhost: 49160
Krok 11: Zavřete/zabijte aplikaci
Nakonec vypněte aplikaci pomocí „ zabít ”cmdlet:
přístavní dělník zabít 77b1e3c8576e
Pomocí tohoto příkazu také potvrďte, zda se aplikace zastavila, pomocí vstupních hodnot:
kučera -i localhost: 49160
Závěr
A ' Node.js “ aplikaci lze ukotvit vytvořením serveru, souboru dockerfile, souboru „.dockerignore“, vytvořením a spuštěním bitové kopie, vygenerováním výstupu aplikace a testováním, zavřením a potvrzením zastavení aplikace. Tento článek podrobně popisuje ukotvení aplikace Node.js.