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: 18DIR. 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_nodesnpm-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 psDocker 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.