- Crea un archivo Dockerfile en la raíz de tu proyecto con el siguiente contenido:
# Utilizamos una imagen base con Node.js
FROM node:14
# Establecemos el directorio de trabajo dentro del contenedor
WORKDIR /usr/src/app
# Copiamos los archivos package.json y package-lock.json al contenedor
COPY package*.json ./
# Instalamos las dependencias de la aplicación
RUN npm install
# Copiamos el resto de los archivos al contenedor
COPY . .
# Establecemos el puerto que expondrá el contenedor
EXPOSE 3000
# Establecemos el comando que se ejecutará al iniciar el contenedor
CMD ["npm", "start"]
Este archivo Dockerfile utiliza una imagen base de Node.js, establece el directorio de trabajo dentro del contenedor, copia los archivos package.json y package-lock.json al contenedor y los instala con npm install, copia el resto de los archivos al contenedor, establece el puerto que expondrá el contenedor y establece el comando que se ejecutará al iniciar el contenedor.
- Ejecuta el siguiente comando en la terminal en la ubicación donde tienes el archivo Dockerfile:
docker build -t nombre-de-tu-imagen .
Este comando creará una imagen con el nombre que especifiques en “-t nombre-de-tu-imagen” y el punto al final indica que se utilizará la ubicación actual como el contexto de la construcción de la imagen.
- Para ejecutar un contenedor con la imagen creada, puedes utilizar el siguiente comando:
docker run -p 3000:3000 nombre-de-tu-imagen
Este comando iniciará un contenedor utilizando la imagen que acabas de crear, expondrá el puerto 3000 del contenedor al puerto 3000 de tu máquina y ejecutará el comando especificado en el Dockerfile (“npm start” en este caso).
¡Listo! Ahora tienes una imagen de Docker y un contenedor que ejecuta tu aplicación Node.js.