Docker Nodejs · 5 min read · Feb 05, 2026

Guía de Docker: Dockerizando una Aplicación Nodejs Express en Ubuntu 18.04

Docker es un proyecto de código abierto que proporciona una plataforma abierta para que los desarrolladores y administradores de sistemas construyan, empaqueten y ejecuten aplicaciones en cualquier lugar como un contenedor ligero. Docker automatiza el despliegue de aplicaciones dentro de contenedores de software.

Nodejs es un entorno de ejecución JavaScript de código abierto. Es un entorno de ejecución multiplataforma, que se puede instalar en Linux, Windows, MacOS, FreeBSD, etc. Nodejs es muy útil para construir tanto aplicaciones de servidor como de escritorio.

En este tutorial, te mostraré cómo crear una imagen de docker para un proyecto existente de aplicación Nodejs Express en Ubuntu 18.04. Aprenderemos sobre dockerizar una aplicación Nodejs y luego desplegar la aplicación como un contenedor en el entorno docker utilizando un script docker-compose.

Prerrequisitos

  • Ubuntu 18.04
  • Privilegios de root

Lo que haremos

  1. Instalar Docker CE
  2. Instalar Docker-Compose
  3. Configurar el Proyecto Nodejs Express
  4. Construir el Proyecto
  5. Pruebas

Paso 1 - Instalar Docker CE

En este tutorial, instalaremos la edición comunitaria docker-ce desde el repositorio de docker. Instalaremos la edición comunitaria docker-ce y docker-compose que soporta la versión 3 del archivo de composición.

Antes de instalar docker-ce, instala las dependencias de docker necesarias utilizando el comando apt.

sudo apt install -y \  
    apt-transport-https \  
    ca-certificates \  
    curl \  
    software-properties-common

Ahora agrega la clave y el repositorio de docker ejecutando los comandos a continuación.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
sudo add-apt-repository \  
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \  
   $(lsb_release -cs) \  
   stable"

Instalar Docker

Instala el paquete docker-ce.

sudo apt install docker-ce

Después de que la instalación esté completa, inicia el servicio docker y habilítalo para que se inicie cada vez que se arranque el sistema.

systemctl start docker  
systemctl enable docker

Iniciar Docker

A continuación, daremos privilegios al usuario normal para ejecutar y gestionar contenedores docker.

Agrega un nuevo usuario llamado ‘mohammad’ y agrégalo al grupo docker.

useradd -m -s /bin/bash mohammad  
usermod -a -G docker mohammad

Ahora inicia sesión como el usuario ‘mohammad’ y ejecuta el contenedor docker hello-world.

su - mohammad  
docker run hello-world

Y obtendrás el resultado como se muestra a continuación.

Agregar usuario y probar el usuario

Paso 2 - Instalar Docker-Compose

En este paso, instalaremos docker-compose manualmente desde el archivo binario que se puede descargar de GitHub. Instalaremos la última versión de docker-compose que soportará la versión 3 de la composición.

Descarga la última versión 1.22.0 de docker-compose utilizando el comando curl al directorio ‘/usr/local/bin’, y luego hazlo ejecutable usando chmod.

Ejecuta los comandos a continuación.

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose  
sudo chmod +x /usr/local/bin/docker-compose

Y la última versión de docker-compose ha sido instalada, verifica ejecutando el comando docker-compose a continuación.

docker-compose version

A continuación se muestra el resultado.

Instalar Docker Compose

Paso 3 - Configurar el Proyecto Nodejs Express

En esta sección, configuraremos el entorno de la aplicación Nodejs. Usaremos una simple aplicación nodejs que se puede generar utilizando el ‘express-generator’.

Inicia sesión como el usuario ‘mohammad’.

su - mohammad

Crea un nuevo directorio llamado ‘project’ y ve a él.

mkdir -p project  
cd project

Ahora genera una simple aplicación nodejs hello-world utilizando el comando ‘express’ a continuación.

express hakase-app

Nota:

Asegúrate de que nodejs, npm y los paquetes ‘express-generator’ hayan sido instalados en el sistema.

Y obtendrás la simple aplicación express de nodejs en el directorio ‘hakase-app’.

Instalar Proyecto Nodejs Express

A continuación, construiremos nuestra imagen docker personalizada para la aplicación nodejs ‘hakase-app’.

Bajo el directorio ‘project’, crea un nuevo ‘Dockerfile’ usando vim.

vim Dockerfile

Pega la siguiente configuración de imagen docker allí.

FROM node:8.11.4-alpine

RUN mkdir -p /src
RUN npm install express-generator -g

WORKDIR /src
ADD hakase-app/package.json /src/package.json
RUN npm install

EXPOSE 3000
CMD node hakase-app/bin/www

Guarda y sal.

Usar npm para instalar la aplicación

Estamos creando una nueva imagen docker personalizada para nuestra aplicación nodejs con las especificaciones a continuación.

  • La imagen personalizada se basa en la imagen oficial de nodejs versión 8.11.4 alpine.
  • Estamos creando un nuevo directorio para nuestro proyecto ‘/src’.
  • Instala el ‘express-generator’ en la imagen personalizada.
  • Agrega el archivo ‘package.json’ que contiene el perfil de la aplicación y los paquetes necesarios al directorio ‘/src’.
  • Instala todos los paquetes nodejs necesarios para el proyecto, basándose en el archivo ‘package.json’.
  • Exporta el puerto 3000 con el comando de inicio de ejecución predeterminado ‘node hakase-app/bin/www’.

A continuación, construiremos la imagen personalizada basada en el script docker-compose.

Crea un nuevo archivo yml ‘docker-compose.yml’ usando vim.

vim docker-compose.yml

Pega la siguiente configuración allí.

version: '3'

services:

  hakase-app:
    build: .
    volumes:
      - ./hakase-app:/src/hakase-app
    ports:
      - "3000:3000"
    restart: always

Guarda y sal.

Crear archivo yml de docker compose

Estamos creando un nuevo servicio docker llamado ‘hakase-app’, y al mismo tiempo estamos construyendo la imagen docker personalizada basada en el ‘Dockerfile’ en el directorio del proyecto y montaremos automáticamente los archivos de la aplicación hakase-app.

La configuración de Nodejs Express se ha completado.

Paso 4 - Construir y Ejecutar el Proyecto

Inicia sesión como el usuario ‘mohammad’ y ve al directorio ‘project’

su - mohammad  
cd project/

Construye la imagen y crea el servicio docker hakase-app utilizando el comando docker-compose a continuación.

docker-compose build

Ahora obtendrás el resultado como se muestra a continuación.

Construir proyecto docker

Y cuando esté completo, ejecuta el servicio docker ‘hakase-app’.

docker-compose up -d

A continuación se muestra el resultado.

Usar docker-compose up

La imagen docker personalizada para nuestra aplicación Nodejs ha sido creada, y el servicio docker hakase-app está en funcionamiento.

Paso 5 - Pruebas

Muestra la imagen docker disponible en el servidor.

docker-compose images  
docker images

Mostrar imagen docker disponible

Se ha creado una nueva imagen docker personalizada para nuestra aplicación Nodejs.

Muestra el servicio docker en ejecución.

docker-compose ps  
docker ps

La aplicación Nodejs está en funcionamiento en el puerto 3000 del host.

Abre el navegador web y escribe la dirección IP del servidor con el puerto.

http://10.0.15.2:3000/

Y obtendrás la simple página express.

Dockerizando la aplicación Nodejs Express en Ubuntu 18.04 se ha completado con éxito.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.