Com acoblar una aplicació Node.js

Com Acoblar Una Aplicacio Node Js



L'acoblament d'una aplicació inclou especificar tots els requisits previs necessaris per executar l'aplicació i després utilitzar el Dockerfile per crear una imatge Docker especialitzada que es pugui compartir amb diverses màquines. Dockering un ' Node.js L'aplicació millora la coherència i garanteix una depuració còmoda al final del desenvolupador.

Requisits previs







Els requisits previs per a l'acoblament d'un ' Node.js ” aplicació inclou els següents:



  • Instal·lació de Docker.
  • Coneixement bàsic de l'aplicació Node.js.

Com acoblar una aplicació Node.js?

A ' Node.js ” aplicació es pot acoblar mitjançant els passos següents:



Pas 1: creeu un fitxer 'package.json'.





En primer lloc, feu un nou directori on estaran integrats tots els fitxers. Dins d'aquest directori, creeu el ' package.json ” fitxer que representa l'aplicació juntament amb les seves dependències:

{
'nom' : 'docker_web_app' ,
'versió' : '1.0.0' ,
'descripció' : 'Node.js a Docker' ,
'autor' : 'Primer últim ' ,
'principal' : 'server.js' ,
'guions' : {
'començar' : 'node server.js'
} ,
'dependències' : {
'expressar' : '^4.18.2'
} }



Pas 2: genereu un fitxer 'package-lock.json'.

Dins del fitxer 'package.json', executeu el ' instal·lació npm ” cmdlet. Això generarà un ' package-lock.json ” que es copia a la imatge de Docker, de la següent manera:

npm instal·lar

Pas 3: creeu un servidor

Després d'això, creeu un ' server.js ' que declara una aplicació web utilitzant el ' Express.js marc:

'utilitzar estricte' ;

const express = requerir ( 'express' ) ;

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

const app = express ( ) ;
app.get ( '/' , ( requeriment, res ) = > {
res.enviar ( 'Hola món' ) ;
} ) ;

aplicació.escoltar ( PORT, HOST, ( ) = > {
console.log ( ` Funcionant a http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Ara, passem a les metodologies per executar l'aplicació dins d'un contenidor Docker mitjançant una imatge oficial de Docker.

Pas 4: creeu un Dockerfile

Creeu un Dockerfile manualment dins del mateix directori que inclou tots els fitxers. En aquest fitxer, escriviu la següent línia de codi:

DES DEL node: 18
DIR. TREBALL / usr / src / aplicació
COPIAR paquet * .json . /
RUN npm instal·lar
CÒPIA . .
EXPOSAR 8080
CMD [ 'node' , 'server.js' ]

Al fragment de codi anterior, apliqueu els passos que s'indiquen a continuació:

  • Primer, utilitzeu la darrera versió de suport a llarg termini 18 del node com a imatge base continguda a Docker Hub .
  • Després d'això, creeu un directori per contenir el codi de l'aplicació a la imatge.
  • Això representa el directori de treball de l'aplicació.
  • Ara, instal·leu les dependències de l'aplicació mitjançant ' npm ”.
  • Nota: Si s'utilitza la versió npm 4 o anterior, no es crearà un fitxer 'package-lock.json'.
  • Ara, copieu el ' package.json ' dossier. A més, afegiu el codi font de l'aplicació a la imatge de Docker mitjançant el ' CÒPIA ” instrucció.
  • Utilitzeu el ' EXPOSAR ” instrucció per permetre que l'aplicació s'uneixi al port 8080.
  • Finalment, definiu el cmdlet per executar l'aplicació mitjançant CMD que defineix el temps d'execució. Aquí, el ' node server.js ” s'utilitzarà el cmdlet per iniciar el servidor.

Pas 5: creeu un fitxer '.dockerignore'.

Creeu un fitxer '.dockerignore' al fitxer ' Dockerfile ” directori/carpeta que inclou el contingut indicat a continuació:

mòduls_nodes
npm-debug.log

Aquest contingut evita que els mòduls locals i els registres de depuració, respectivament, es copien a la imatge de Docker.

Pas 6: Construeix la imatge

Ara, dins del directori que inclou el Dockerfile, creeu la imatge utilitzant el cmdlet que s'indica a continuació:

construcció docker. -t nodejs / node-aplicació-web

En aquest cmdlet, ' nodejs ' es refereix al nom del directori, així que especifiqueu el cmdlet en conseqüència i el ' -t ” La bandera etiqueta la imatge.

Ara, enumera les imatges mitjançant aquesta comanda:

imatges de docker

Pas 7: executeu la imatge

Executeu/executeu la imatge utilitzant el cmdlet que s'indica a continuació:

Docker Run -p 49160 : 8080 -d nodejs / node-aplicació-web

Aquí, el ' -p La bandera redirigeix ​​un port públic a un de privat dins del contenidor i el ' -d La bandera executa el contenidor en mode desconnectat, és a dir, en segon pla.

Pas 8: genereu la sortida de l'aplicació

Ara, imprimiu la sortida de l'aplicació mitjançant les ordres següents:

docker ps
Docker registres 77b1e3c8576e

Si cal navegar per l'intèrpret de contenidors, utilitzeu el ' executiu 'cmdlet:

docker executiu -ell 77b1e3c8576e / paperera / xoc

Aquí, ' 77b1e3c8576e ' representa l'ID del contenidor que es pot copiar mitjançant el ' executat ' docker ps ” ordre anteriorment.

Pas 9: prova de l'aplicació

Per provar l'aplicació, recupereu el port de l'aplicació que Docker va assignar:

docker ps

Al cmdlet anterior, Docker va mapar el ' 8080 'port dins del contenidor al port' 49160 ” a la màquina.

Pas 10: invocació de l'aplicació

Invoqueu l'aplicació mitjançant el ' rínxol ”cmdlet fent referència al port mapat anteriorment i introduint els valors requerits:

rínxol -i localhost: 49160

Pas 11: tanca/mata l'aplicació

Finalment, tanqueu l'aplicació mitjançant el ' matar 'cmdlet:

docker matar 77b1e3c8576e

A més, confirmeu si l'aplicació s'ha aturat mitjançant aquesta comanda amb valors d'entrada:

rínxol -i localhost: 49160

Conclusió

A ' Node.js L'aplicació es pot acoblar creant un servidor, un fitxer docker, el fitxer '.dockerignore', creant i executant la imatge, generant la sortida de l'aplicació i provant, tancant i confirmant l'aturada de l'aplicació. Aquest article s'ha detallat sobre la dockerització d'una aplicació Node.js.