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
- Instalar Docker CE
- Instalar Docker-Compose
- Configurar el Proyecto Nodejs Express
- Construir el Proyecto
- 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-commonAhora 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"
Instala el paquete docker-ce.
sudo apt install docker-ceDespué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
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 mohammadAhora inicia sesión como el usuario ‘mohammad’ y ejecuta el contenedor docker hello-world.
su - mohammad
docker run hello-worldY obtendrás el resultado como se muestra a continuación.

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-composeY la última versión de docker-compose ha sido instalada, verifica ejecutando el comando docker-compose a continuación.
docker-compose versionA continuación se muestra el resultado.

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 - mohammadCrea un nuevo directorio llamado ‘project’ y ve a él.
mkdir -p project
cd projectAhora genera una simple aplicación nodejs hello-world utilizando el comando ‘express’ a continuación.
express hakase-appNota:
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’.

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 DockerfilePega 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/wwwGuarda y sal.

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.ymlPega la siguiente configuración allí.
version: '3'
services:
hakase-app:
build: .
volumes:
- ./hakase-app:/src/hakase-app
ports:
- "3000:3000"
restart: alwaysGuarda y sal.

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 buildAhora obtendrás el resultado como se muestra a continuación.

Y cuando esté completo, ejecuta el servicio docker ‘hakase-app’.
docker-compose up -dA continuación se muestra el resultado.

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
Se ha creado una nueva imagen docker personalizada para nuestra aplicación Nodejs.
Muestra el servicio docker en ejecución.
docker-compose ps
docker psLa 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.
Y obtendrás la simple página express.
Dockerizando la aplicación Nodejs Express en Ubuntu 18.04 se ha completado con éxito.
Referencia
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.