Kako dockerizirati aplikacijo Node.js

Kako Dockerizirati Aplikacijo Node Js



Dockerizacija aplikacije vključuje določanje vseh predpogojev, potrebnih za izvajanje aplikacije, in nato uporabo datoteke Docker za izdelavo posebne slike Docker, ki jo je mogoče deliti z različnimi napravami. Dockeriziranje ' Node.js ” izboljša doslednost in zagotavlja priročno odpravljanje napak na strani razvijalca.

Predpogoji







Predpogoji za dokkerizacijo » Node.js ” vključujejo naslednje:



  • Namestitev Dockerja.
  • Osnovno razumevanje aplikacije Node.js.

Kako dockerizirati aplikacijo Node.js?

A “ Node.js « Aplikacijo lahko dockerizirate z naslednjimi koraki:



1. korak: Ustvarite datoteko »package.json«.





Najprej ustvarite nov imenik, kjer bodo vse datoteke. Znotraj tega imenika ustvarite » package.json «, ki predstavlja aplikacijo skupaj z njenimi odvisnostmi:

{
'ime' : 'docker_web_app' ,
'različica' : '1.0.0' ,
'opis' : 'Node.js na Dockerju' ,
'avtor' : 'Prvi zadnji ' ,
'glavni' : 'server.js' ,
'skripte' : {
'začetek' : 'vozlišče server.js'
} ,
'odvisnosti' : {
'ekspresno' : '^4.18.2'
} }



2. korak: ustvarite datoteko »package-lock.json«.

V datoteki »package.json« izvedite » namestitev npm »cmdlet. To bo ustvarilo ' package-lock.json «, ki je kopirana v sliko Dockerja, kot sledi:

npm namestite

3. korak: Ustvarite strežnik

Po tem ustvarite » server.js ', ki deklarira spletno aplikacijo, ki uporablja ' Express.js ” okvir:

'use strict' ;

const express = zahtevaj ( 'express' ) ;

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

const app = express ( ) ;
app.get ( '/' , ( zahteva, res ) = > {
res.send ( 'Pozdravljen, svet' ) ;
} ) ;

aplikacija.poslušaj ( PORT, HOST, ( ) = > {
console.log ( ` Deluje na http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Zdaj pa preidimo na metodologije za izvajanje aplikacije v vsebniku Docker prek uradne slike Docker.

4. korak: Ustvarite datoteko Docker

Ročno ustvarite datoteko Docker v istem imeniku, ki vsebuje vse datoteke. V to datoteko napišite naslednjo vrstico kode:

FROM vozlišče: 18
DELOVNI DIR / usr / src / aplikacija
KOPIRAJ paket * .json . /
ZAGENI npm namestite
KOPIRATI . .
IZPOSTITE 8080
CMD [ 'vozlišče' , 'server.js' ]

V zgornjem delčku kode uporabite spodnje korake:

  • Najprej uporabite najnovejšo dolgoročno podporno različico 18 vozlišča kot osnovno sliko, ki jo vsebuje Docker Hub .
  • Nato ustvarite imenik, ki bo vseboval kodo aplikacije na sliki.
  • To predstavlja delovni imenik za aplikacijo.
  • Zdaj namestite odvisnosti aplikacije prek » npm ”.
  • Opomba: Če se uporablja različica npm 4 ali starejša, datoteka »package-lock.json« ne bo ustvarjena.
  • Zdaj kopirajte ' package.json ' mapa. Prav tako združite izvorno kodo aplikacije v sliko Docker prek » KOPIRATI ” navodilo.
  • Uporabite ' IZPOSTITE ” navodilo, da se aplikacija poveže z vrati 8080.
  • Nazadnje definirajte cmdlet za izvajanje aplikacije prek CMD, ki definira čas izvajanja. Tukaj je ' strežnik vozlišča.js ” cmdlet bo uporabljen za zagon strežnika.

5. korak: Ustvarite datoteko ».dockerignore«.

Ustvarite datoteko ».dockerignore« v » Dockerfile ” imenik/mapa, ki vsebuje spodnjo vsebino:

moduli_vozlišča
npm-debug.log

Ta vsebina se izogiba kopiranju lokalnih modulov in dnevnikov odpravljanja napak v sliko Docker.

6. korak: Ustvarite sliko

Zdaj v imeniku, ki vsebuje datoteko Dockerfile, zgradite sliko s spodaj navedenim cmdletom:

zgradba dockerja. -t nodejs / spletna aplikacija vozlišča

V tem ukazu cmdlet » nodejs « se nanaša na ime imenika, zato ustrezno določite cmdlet in » -t ” zastavica označuje sliko.

Zdaj navedite slike s tem ukazom:

docker slike

7. korak: Zaženite sliko

Izvedite/zaženite sliko s spodaj navedenim ukazom cmdlet:

docker run -str 49160 : 8080 -d nodejs / spletna aplikacija vozlišča

Tukaj je ' -str ' zastavica preusmeri javna vrata na zasebna znotraj vsebnika in ' -d ” izvede vsebnik v ločenem načinu, tj. v ozadju.

8. korak: Ustvarite izhod aplikacije

Zdaj natisnite izhod aplikacije z naslednjimi ukazi:

docker ps
dockerjevi dnevniki 77b1e3c8576e

Če je treba krmariti znotraj lupine vsebnika, uporabite » izv »cmdlet:

docker izv -to 77b1e3c8576e / koš / bash

Tukaj, ' 77b1e3c8576e ' predstavlja ID vsebnika, ki ga je mogoče kopirati prek izvedenega ' docker ps ” ukaz prej.

9. korak: Testiranje aplikacije

Za testiranje aplikacije pridobite vrata aplikacije, ki jih je Docker preslikal:

docker ps

V zgornjem ukazu cmdlet je Docker preslikal » 8080 'pristanišče znotraj vsebnika do pristanišča' 49160 ” na stroju.

10. korak: Priklic aplikacije

Prikličite aplikacijo prek » curl ” cmdlet tako, da se obrnete na zgoraj preslikana vrata in vnesete zahtevane vrednosti:

curl -jaz lokalni gostitelj: 49160

11. korak: Zaprite/ubijte aplikacijo

Na koncu zaprite aplikacijo prek » ubiti »cmdlet:

docker ubiti 77b1e3c8576e

Preverite tudi, ali se je aplikacija ustavila prek tega ukaza z vnesenimi vrednostmi:

curl -jaz lokalni gostitelj: 49160

Zaključek

A “ Node.js « Aplikacijo lahko dockerizirate tako, da ustvarite strežnik, datoteko docker, datoteko ».dockerignore«, zgradite in zaženete sliko, ustvarite izhod aplikacije ter preizkusite, zaprete in potrdite zaustavitev aplikacije. Ta članek je podrobneje obravnaval dokkerizacijo aplikacije Node.js.