Cómo acoplar una aplicación Node.js

Como Acoplar Una Aplicacion Node Js



Dockerizar una aplicación incluye especificar todos los requisitos previos necesarios para ejecutar la aplicación y luego utilizar Dockerfile para crear una imagen de Docker especializada que se pueda compartir con varias máquinas. Dockerizando un “ Nodo.js La aplicación mejora la coherencia y garantiza una depuración cómoda por parte del desarrollador.

Requisitos previos







Los requisitos previos para dockerizar un ' Nodo.js La aplicación incluye lo siguiente:



  • Instalación de Docker.
  • Comprensión básica de la aplicación Node.js.

¿Cómo acoplar una aplicación Node.js?

A ' Nodo.js La aplicación se puede acoplar mediante los siguientes pasos:



Paso 1: cree un archivo 'paquete.json'





Primero, cree un nuevo directorio donde estarán compuestos todos los archivos. Dentro de este directorio, cree el “ paquete.json ”archivo que representa la aplicación junto con sus dependencias:

{
    'nombre' : 'docker_web_app' ,
    'versión' : '1.0.0' ,
    'descripción' : 'Node.js en Docker' ,
    'autor' : 'Primero último ' ,
    'principal' : 'servidor.js' ,
    'guiones' : {
      'comenzar' : 'servidor de nodo.js'
    } ,
    'dependencias' : {
      'expresar' : '^4.18.2'
    } }

 



Paso 2: genere un archivo 'package-lock.json'

Dentro del archivo “package.json”, ejecute el comando “ instalación npm ”cmdlet. Esto generará un “ paquete-lock.json ”archivo que se copia a la imagen de Docker, de la siguiente manera:

npm instalar

 

Paso 3: crear un servidor

Después de eso, cree un ' servidor.js 'Archivo que declara una aplicación web utilizando el' expreso.js ' estructura:

'uso estricto' ;

constante expresa = requerir ( 'expresar' ) ;

PUERTO constante = 8080 ;
constante ANFITRIÓN = '0.0.0.0' ;

aplicación constante = expreso ( ) ;
aplicación.get ( '/' , ( solicitar, res ) = > {
res.enviar ( 'Hola Mundo' ) ;
} ) ;

aplicación.escuchar ( PUERTO, ANFITRIÓN, ( ) = > {
consola.log ( ` Ejecutando en http: // ${HOST} : ${PUERTO} ` ) ;
} ) ;

 

Ahora, pasemos a las metodologías para ejecutar la aplicación dentro de un contenedor Docker a través de una imagen oficial de Docker.

Paso 4: crea un archivo Docker

Cree un Dockerfile manualmente dentro del mismo directorio que comprende todos los archivos. En este archivo, escriba la siguiente línea de código:

DESDE nodo: 18
DIRTRABAJO / usr / src / aplicación
COPIAR paquete * .json. /
EJECUTAR npm instalar
COPIAR . .
EXPONER 8080
CMD [ 'nodo' , 'servidor.js' ]

 

En el fragmento de código anterior, aplique los pasos que se indican a continuación:

  • Primero, utilice la última versión 18 de soporte a largo plazo del nodo como imagen base contenida en Centro acoplable .
  • Después de eso, cree un directorio para contener el código de la aplicación en la imagen.
  • Esto representa el directorio de trabajo de la aplicación.
  • Ahora, instale las dependencias de la aplicación a través de ' npm ”.
  • Nota: Si se utiliza la versión 4 o anterior de npm, no se creará un archivo “package-lock.json”.
  • Ahora, copia el “ paquete.json ' archivo. Además, incluya el código fuente de la aplicación dentro de la imagen de Docker a través del botón ' COPIAR ' instrucción.
  • Utilice el ' EXPONER 'Instrucción para permitir que la aplicación se vincule al puerto 8080.
  • Finalmente, defina el cmdlet para ejecutar la aplicación a través de CMD que define el tiempo de ejecución. Aquí el ' servidor de nodo.js Se utilizará el cmdlet para iniciar el servidor.

Paso 5: cree un archivo '.dockerignore'

Cree un archivo '.dockerignore' en el archivo ' archivo acoplable ”directorio/carpeta que comprende el contenido que se proporciona a continuación:

módulos_nodo
npm-debug.log

 

Este contenido evita que los módulos locales y los registros de depuración, respectivamente, se copien en la imagen de Docker.

Paso 6: construye la imagen

Ahora, dentro del directorio que comprende el Dockerfile, cree la imagen usando el cmdlet que se indica a continuación:

construcción de ventana acoplable. -t nodejs / aplicación-web-nodo

 

En este cmdlet, “ nodejs ' se refiere al nombre del directorio, así que especifique el cmdlet en consecuencia y el ' -t La bandera etiqueta la imagen.

Ahora, enumere las imágenes mediante este comando:

Imágenes de docker

 

Paso 7: ejecute la imagen

Ejecute/ejecute la imagen usando el cmdlet que se indica a continuación:

ejecución de la ventana acoplable -pag 49160 : 8080 -d nodejs / aplicación-web-nodo

 

Aquí el ' -pag 'La bandera redirige un puerto público a uno privado dentro del contenedor y el' -d 'El indicador ejecuta el contenedor en modo independiente, es decir, en segundo plano.

Paso 8: generar el resultado de la aplicación

Ahora, imprima el resultado de la aplicación usando los siguientes comandos:

estibador PD
registros de la ventana acoplable 77b1e3c8576e

 

Si es necesario navegar dentro del contenedor, utilice la opción ' ejecutivo 'cmdlet:

estibador ejecutivo -él 77b1e3c8576e / papelera / intento

 

Aquí, ' 77b1e3c8576e 'Representa el ID del contenedor que se puede copiar mediante el comando' ejecutado. ventana acoplable ps ”comando anteriormente.

Paso 9: Probar la aplicación

Para probar la aplicación, recupere el puerto de la aplicación que Docker asignó:

estibador PD

 

En el cmdlet anterior, Docker asignó el ' 8080 “puerto dentro del contenedor al puerto” 49160 ' en la maquina.

Paso 10: Invocar la aplicación

Invoque la aplicación a través del botón “ rizo ” cmdlet haciendo referencia al puerto asignado anteriormente e ingresando los valores requeridos:

rizo -i servidor local: 49160

 

Paso 11: cerrar/eliminar la aplicación

Por último, cierre la aplicación a través del botón ' matar 'cmdlet:

estibador matar 77b1e3c8576e

 

Además, confirme si la aplicación se detuvo mediante este comando con valores de entrada:

rizo -i servidor local: 49160

 

Conclusión

A ' Nodo.js ”la aplicación se puede dockerizar creando un servidor, un archivo docker, el archivo “.dockerignore”, creando y ejecutando la imagen, generando la salida de la aplicación y probando, cerrando y confirmando la detención de la aplicación. Este artículo detalla la dockerización de una aplicación Node.js.