Crear un archivo Docker Compose con varios servicios

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

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

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 de programación en Docker

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Docker 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 ejercicios de programación en Docker

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

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Docker

⭐⭐⭐⭐⭐
4.9/5 valoración