contenedor Docker para su aplicación NodeJs

contenedor Docker

Cómo crear un contenedor Docker para su aplicación NodeJs

Contenedor Docker – Si alguna vez se preguntó cómo Dockerize y ejecutar su aplicación NodeJs como un contenedor, y nunca lo hizo, entonces llegó al lugar correcto.


Lo que estará construyendo

Una aplicación NodeJs que se ejecuta en un contenedor Docker en su máquina local.

Paso 1

Inicializar una aplicación NodeJs con express

1. cd en la carpeta que desea hacer su aplicación NodeJs

2. Ejecute npm init -y

Esto generará un archivo package.json para usted

3. Ahora a instalar tipo Express 👇🏻

npm i express

Y presione la tecla Enter o Return

Express ahora se instalará como una dependencia en su proyecto

4. Ahora cree un archivo index.js en el directorio de su aplicación con el siguiente código

const express = require('express');
const app = express();

app.get('/', (req,res) => {
    res.json({
        "message": "server running"
    })
})

app.listen(80, () => {
    console.log("server running");
})

5. Su aplicación express de NodeJs ya está lista. Para ejecutar la aplicación Abra Terminal y cd en el directorio de su proyecto y escriba

node index.js

Si ve un mensaje de servidor en ejecución impreso en la terminal, tada su aplicación de nodo ahora está lista


Paso 2

Hora de dockerizarlo

En el directorio de su proyecto, cree un archivo llamado Dockerfile sin ninguna extensión y guárdelo

Copie 👇🏻 estas líneas en Dockerfile

FROM node:alpine

WORKDIR /var/www

COPY package.json .

RUN npm install

COPY . .

EXPOSE 80

CMD ["node", "index.js"]
  • FROM node:alpine esta es la primera línea de cualquier Dockerfile y especifica la imagen base que está utilizando para crear su imagen acoplable, en nuestro caso estamos usando node:alpine
  • WORKDIR /var/www esta línea especifica nuestro directorio de trabajo actual. En nuestro caso, queremos que nuestro proyecto esté en /var/www, por lo que estamos diciendo docker que hace que nuestro directorio de trabajo actual sea /var/www
  • COPY package.json . Un paso que se explica por sí mismo, simplemente estamos copiando nuestro archivo package.json a nuestro directorio de trabajo actual
    RUN npm install Este paso instala todas las dependencias de nuestro proyecto en el contenedor docker
  • COPY . . En el paso anterior, copiamos solo package.json para instalar solo las dependencias. Ahora que tenemos todas las dependencias instaladas, estamos copiando todos los archivos de nuestro proyecto en el contenedor
  • EXPOSE 80 Este paso expone el puerto 80 de nuestro contenedor para que el mundo exterior acceda
  • CMD [“node”, “index.js”] Y finalmente estamos ejecutando la aplicación ejecutando el comando node

Cree la imagen de Docker

Ahora estamos un paso más cerca de dockerizar nuestra aplicación NodeJs.

Ya tenemos todo listo. El último paso que queda es construir nuestra imagen de Docker desde Dockerfile y ejecutarla.

Para construir la imagen, abra su Terminal y cd en la carpeta del proyecto y ejecuta docker build -t image.

Docker ahora comenzará a construir su imagen desde Dockerfile verá una pantalla -como la siguiente- una vez que termine de construirse.

¡FINALMENTE! Es hora de ejecutar nuestro contenedor Docker

Ahora ejecute el comando docker run -p 80:80 image y verá el mensaje server running

Ahora vaya a su navegador web y escriba localhost y presione Enter o Return


Felicidades, su proyecto NodeJs ahora está dockerizado 🎉🥳

Recent Post