Docker
Orquestación
Un servicio real suele componerse de varios componentes (servidores web, backends, bases de datos, brokers de mensajes, etc.). En una arquitectura de microservicios esos componentes se despliegan como contenedores, y es necesario coordinar su arranque y comunicación. En un entorno real se utiliza Kubernetes, pero para probar en un entorno local se suele usar Docker Compose.
-
Crea el fichero
practicas/ci-cd/docker-compose.yml
con este contenido:version: "3.9" name: ci-cd services: vnu: image: ghcr.io/validator/validator:latest container_name: vnu ports: [ "8888:8888" ] web: image: nginx:alpine container_name: web volumes: [ "./src:/usr/share/nginx/html:ro" ] ports: [ "8080:80" ]
❓ Pregunta: Explica qué hace el
docker-compose.yaml
utilizado. ¿Por qué basta con usar el modoro
en el servicioweb
? -
Con Docker arrancando, ejecuta en un terminal:
cd {ruta}/practicas/ci-cd docker-compose up -d docker ps
-
Entra con un navegador web en
http://localhost:8080/
, modifica el ficheropracticas/ci-cd/src/index.html
en tu SO y refresca el navegador. -
Entra con un navegador web en
http://localhost:8888/
y chequea esta URLhttp://web
.❓ Pregunta: ¿Por qué usamos
http://web
en lugar dehttp://localhost:8080
para validar nuestra página web?