Para crear una imagen de docker se necesita crear dentro de la carpeta del proyecto (en este caso en el backend) un archivo llamado “dockerfile.dev”, como es una imagen a utilizar para desarrollo va acompañado del .dev.
A continuación se muestra un ejemplo de un caso práctico, un proyecto de ExpressJs con Node.
A continuación se muestra el contenido del archivo dockerfile.dev que nos permite indicar todo lo necesario para construir la imagen para el proyecto en modo de desarrollo.
FROM node:14
RUN npm install -g nodemon
RUN mkdir -p /app
WORKDIR /app
RUN npm install
EXPOSE 3000
CMD ["nodemon","index.js"]
Como podemos observar tenemos una serie de instrucciones para crear la imagen, veasé a continuación que significa cada una de ellas:
Todas las imagenes que nosotros creemos siempre se van a basar en alguna otra imagen, en nuestro caso estamos trabajando con react, por ende, indicamos el nombre de la imagen de NodeJS.
FROM node:14
Instalaremos nodemon que nos ayuda agilizar nuestro ambiente de desarrollo para que podamos reflejar todos los cambios que nosotros hagamos automaticamente.
Por lo cual la siguiente linea indica que se debe de instalar nodemon.
RUN npm install -g nodemon
La siguiente instrucción nos crea una carpeta dentro de nuestro contenedor, y es donde vamos a meter el codigo fuente de nuestra aplicacion.
RUN mkdir -p /app
Indicamos la ruta en la cual nosotros vamos a estar trabajando
WORKDIR /app
Esta instrucción indica que se descarguen todas las dependencias dentro de nuestro proyecto
RUN npm install