CodeGym /Cursos /Docker SELF /Creación de Dockerfile para cada servicio

Creación de Dockerfile para cada servicio

Docker SELF
Nivel 23 , Lección 2
Disponible

3.1 Creación de Dockerfile para el frontend (ReactJS)

En esta etapa vamos a crear un Dockerfile para cada uno de los tres servicios de nuestra aplicación multicontenedor: el frontend en ReactJS, el backend en Python (Flask) y la base de datos PostgreSQL. El Dockerfile define las instrucciones para crear la imagen Docker de cada servicio.

Crea un archivo Dockerfile en el directorio frontend:

Terminal

cd frontend
touch Dockerfile

Contenido del Dockerfile para el frontend:

Terminal

# Usamos la imagen base node
FROM node:14

# Establecemos el directorio de trabajo
WORKDIR /app

# Copiamos package.json y package-lock.json para instalar dependencias
COPY package*.json ./

# Instalamos dependencias
RUN npm install

# Copiamos los demás archivos del proyecto
COPY . .

# Configuramos el puerto 3000
EXPOSE 3000

# Iniciamos la aplicación
CMD ["npm", "start"]

Este Dockerfile realiza los siguientes pasos:

  1. Usa la imagen base node:14.
  2. Establece el directorio de trabajo /app.
  3. Copia los archivos package.json y package-lock.json.
  4. Instala dependencias usando npm install.
  5. Copia todos los archivos del proyecto al directorio de trabajo.
  6. Abre el puerto 3000 para acceso a la aplicación.
  7. Inicia la aplicación con npm start.

3.2 Creación de Dockerfile para el backend (Flask)

Crea un archivo Dockerfile en el directorio backend:

Terminal

cd backend
touch Dockerfile

Contenido del Dockerfile para el backend:

dockerfile

# Usamos una imagen base de python
FROM python:3.12

# Configuramos el directorio de trabajo
WORKDIR /app

# Copiamos requirements.txt para instalar las dependencias
COPY requirements.txt ./

# Instalamos las dependencias
RUN pip install --no-cache-dir -r requirements.txt

# Copiamos los demás archivos del proyecto
COPY . .

# Configuramos el puerto 5000
EXPOSE 5000

# Ejecutamos la aplicación
CMD ["python", "run.py"]

Este Dockerfile realiza los siguientes pasos:

  1. Utiliza la imagen base python:3.12.
  2. Configura el directorio de trabajo /app.
  3. Copia el archivo requirements.txt.
  4. Instala las dependencias usando pip install.
  5. Copia todos los archivos del proyecto al directorio de trabajo.
  6. Abre el puerto 5000 para acceder a la aplicación.
  7. Ejecuta la aplicación con python run.py.

3.3 Creación de Dockerfile para la base de datos (PostgreSQL)

Para la base de datos PostgreSQL usaremos la imagen oficial, por lo tanto, la creación de nuestro propio Dockerfile no es necesaria. En su lugar, configuraremos PostgreSQL a través de docker-compose.yml.

3.4 Construcción y prueba de imágenes Docker

Después de crear los Dockerfile para el frontend y el backend, es importante probar su construcción.

Construcción de la imagen Docker para el frontend:

Terminal

cd frontend
docker build -t task_management_frontend .

Construcción de la imagen Docker para el backend:

Terminal

cd ../backend
docker build -t task_management_backend .

Verificación del funcionamiento de los contenedores:

Ejecutar el contenedor para el frontend:

Terminal

docker run -p 3000:3000 task_management_frontend

Ejecutar el contenedor para el backend:

Terminal

docker run -p 5000:5000 task_management_backend

Ve a http://localhost:3000 para comprobar el funcionamiento del frontend, y a http://localhost:5000 para comprobar el funcionamiento del backend.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION