Crear un archivo Docker Compose con varios servicios

Código
Experto
Docker
Docker
20 min
150 XP
Actualizado: 27/08/2024

¡Practica y certifícate!

Retroalimentación
Soluciones
Certificado
Comenzar

Descripción

Preparar un archivo docker-compose.yml que despliegue un entorno de desarrollo compuesto por tres servicios: un frontend desarrollado con Angular, un backend en Spring Boot, y una base de datos PostgreSQL. Este desafío pone a prueba tu capacidad para trabajar con Docker y Docker Compose con varios servicios.

Prepara un archivo docker-compose.yml que defina los tres siguientes servicios:

Frontend (Angular):

  • Utiliza la imagen de Docker nginx:alpine para servir los archivos estáticos del proyecto Angular.
  • Debe estar disponible en el puerto 4200 en el anfitrión (80 en el contenedor).
  • Se asume que el proyecto ya está construido y los archivos estáticos se encuentran en una carpeta ./dist/, y deben montarse en el contenedor en /usr/share/nginx/html.
  • Debe poder acceder al backend (depende del backend).

Backend (Spring Boot):

  • Asume que dentro de una carpeta ./backend existe un Dockerfile llamado myBackend que define una imagen spring_app:latest, con todo preparado para ser utilizada.
  • Debe exponer el puerto 8080 (en anfitrión y contenedor).
  • Debe poder acceder a la base de datos (depende de la base de datos).

Base de Datos (PostgreSQL):

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

  • Utiliza la imagen oficial de PostgreSQL postgres:latest.
  • Configura variables de entorno para el usuario (POSTGRES_USER: user1), la contraseña (POSTGRES_PASSWORD: password1), y el nombre de la base de datos (POSTGRES_DB: mydatabase).
  • Debe disponer de un volumen postgres_data, que se monta en /var/lib/postgresql/data. Este volumen debe ser definido dentro del docker-compose.

Escribe el archivo docker-compose.yml para la version 3.8. No es necesario configurar una red personalizada.

Solución al ejercicio

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con exámenes de Docker

Mejora tus habilidades con cientos de exámenes de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Retroalimentación

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades

⭐⭐⭐⭐⭐
4.9/5 valoración