Cómo crear una aplicación NodeJS en Docker

Cómo crear una aplicación NodeJS en Docker
Docker se ha convertido en un tema candente de conversación hoy en día, especialmente entre los desarrolladores. Entonces, ¿qué es Docker?? Docker es una plataforma OpenSource que se monta en el núcleo de Linux y permite a los desarrolladores construir e implementar sus aplicaciones en contenedores. Los contenedores proporcionan un entorno aislado para ejecutar aplicaciones y vienen inclinados con sus propias bibliotecas, dependencias y archivos de configuración que son esenciales para la implementación automática de aplicaciones.

En esta guía, lo guiaremos a través de cómo puede construir una aplicación NodeJS en Docker. Aprenderá a construir una aplicación de NodeJS de demostración en su servidor y luego lo presionará a Docker Hub. En esta guía, estamos usando Ubuntu 18.04 LTS para nuestro entorno de prueba.

Entonces, ¿por qué alguien querría impulsar sus aplicaciones en Docker?? Como vimos anteriormente, Docker envía aplicaciones en contenedores que agrupan bibliotecas y dependencias. Esto constituye un entorno totalmente completo para implementar sus aplicaciones. Además, la circunscripción del entorno de desarrollo asegura que la aplicación funcione de la misma manera en muchos desarrolladores y máquinas clientes.

Prerrequisitos para el desarrollo de NodeJS Docker

Esta guía supone que tiene un conocimiento práctico de Docker y también en la familiaridad con la estructura de una aplicación NodeJS.

Antes de continuar, asegúrese de que se instale lo siguiente en su entorno de prueba:

  1. Estibador
  2. Nodejs y npm

Ahora nos ensuciemos las manos.

Paso 1: crear un nodo.Aplicación JS

Primero, comience creando una aplicación NodeJS. Crearemos un nuevo directorio y luego navegaremos dentro de él como se muestra.

$ mkdir mynode-app && mynode-app

A continuación, use NPM, abreviatura de NodeJS Package Manager, para inicializar el directorio.

$ npm init

El comando crea un archivo llamado paquete.json . Se le solicitará detalles del archivo JSON, como el nombre, la versión, la descripción, las palabras clave y el autor para mencionar solo unos pocos.

Al final, tipo que sí para confirmar los detalles preferidos del archivo JSON.

A continuación, agregue el marco expreso ejecutando el comando:

$ npm install express --save

Debe obtener una salida como se muestra a continuación

Paso 2: crear un nodo.Aplicación JS

En este paso, necesitamos crear archivos necesarios para la aplicación NodeJS. Creemos 2 archivos de muestra de la siguiente manera:

  1. js
  2. html

Para el índice.js archivo, copie y pegue el contenido a continuación:

const express = require ('express')
const app = Express ()
aplicación.get ('/', (req, res) =>
resonancia.sendFile ('$ __ dirname/índice.html ')
)
aplicación.escuchar (3000, () =>
consola.Registro ('escuchando en el puerto 3000!')
)

El archivo crea una ruta para el índice.Archivo HTML que va a escuchar en el puerto 3000

Para el índice.archivo html, pegar la siguiente configuración



Hola! Bienvenido a mi solicitud NodeJS



Ahora estamos listos para iniciar la aplicación NodeJS.

Paso 3: Ejecute la aplicación NodeJS

Para iniciar la aplicación, simplemente emita el comando

Índice de nodo $.js

Desde la salida, podemos ver que la aplicación está escuchando en el puerto 3000. Para confirmar esto, abra su navegador y navegue por la IP de su servidor como se muestra

http: // Address IP: 3000

Paso 4: Dockerice la aplicación NodeJS

A continuación, vamos a crear un archivo Docker

$ touch dockerfile

A continuación, pegue la configuración a continuación

Desde el nodo: carbono
WorkDir/USR/SRC/App
Paquete de copia*.json ./
Ejecutar instalación de NPM
COPIAR…
Exponer 3000
CMD ["nodo", "índice.JS "]

Desglosemos esto:

La primera línea muestra que tenemos la intención de usar la última versión de Node para construir nuestra imagen. Nodo.JS generalmente usa elementos químicos para nombrar sus versiones LTS en el nodo.

La segunda línea apunta a la creación del /USR/SRC/APP directorio que acomodará el código de la aplicación en la imagen.

Las líneas 3 y 4 dirigen la copia del paquete.archivo json y la ejecución del instalación de NPM dominio

COPIAR… Esto empaqueta la aplicación NodeJS, que comprende los archivos HTML y JS, en la imagen de Docker.

Exponer 3000 Esto define el puerto que usará la aplicación NodeJS

CMD ["nodo", "índice.js ”] Esto muestra el comando que debe ejecutarse para que la aplicación inicie.

Paso 5. Construir el nodo.Aplicación JS

Después de crear el archivo Docker, ahora vamos a construir la aplicación NodeJS utilizando el comando indicado a continuación. Estar dispuesto a incluir un espacio y un período al final como se muestra. La opción -t nos ayuda a etiquetar la imagen para facilitar la ubicación cuando ejecutamos el Imágenes de Docker dominio.

$ Docker Build -t MyNode -App .

Para confirmar la existencia de la imagen, ejecute el comando:

$ Docker Imágenes

Paso 6. Ejecutando el contenedor Docker

Con nuestra imagen lista, ahora iniciémosla usando el comando:

# Docker Run -P 8080: 3000 -D Node -APP

El comando dirigirá la aplicación que escuche en el puerto 8080 en lugar del puerto 3000. Para confirmar esto, abra su navegador y navegue por la URL del servidor como se muestra

http: // Address IP: 8080

Paso 7. Empujando la aplicación a Docker Hub

Este es el paso final que ya ha creado nuestra aplicación y aseguró que todo funcione como se esperaba.

Antes de continuar, asegúrese de haber creado una cuenta en Docker Hub

A continuación, cree la imagen una vez más usando sus credenciales de Docker

# Docker Build -T [UserName]/Tag .

El nombre de usuario es su nombre de usuario de inicio de sesión de Docker Hub y la etiqueta es la etiqueta de su aplicación. En mi caso, el comando será un mostrado

# Docker Build -T Jayarthur/MyNode -App .

Ahora inicie sesión en Docker Hub un mostrado.

# Docker Iniciar sesión

Proporcione su nombre de usuario y contraseña y presione Enter

Lo único que queda ahora es llevar la imagen al Hub Docker. Para lograr esto, ejecute el comando:

# Docker Push Jayarthur/MyNode-App

Finalmente, inicie sesión en su Docker Hub y confirme la existencia de la imagen de la aplicación.

Y esto nos trae el final de este tutorial. No dude en comunicarse con sus comentarios. Gracias.