Laboratorio Final
Laboratorio Final
Laboratorio: Desplegando componentes en un ambiente de desarrollo
Descripción
La compañia para la que trabaja le ha solicitado configurar un ambiente de prueba para un servicio que están validando y debe estar disponible lo antes posible, para poder presentar un prueba de concepto a los interesados.
Requerimientos:
El servicio cuenta con los siguiente componentes
- Una aplicación web (CMS) Wordpress versión 6.0.1
- Una base de datos relacional MariaDB versión 10.8.3
- Un API de consultas que será invocado por Wordpress y otros clientes de la compañia. Esta construido en pytho y el equipo de desarrollo publica el código en github.com.
- El equipo requiere una interfaz web por la cual puedan acceder bajo demanda para consultar la base de datos.
Consideraciones
- Utilizar imagenes oficiales para lo que sea posible, deberá investigar la forma de utilizar estas imágenes.
- El puerto de la base de datos no debe ser expuesto fuera del Host de pruebas
- El puerto de Wordpress debe ser 30080
- El puerto del API app de nuestros desarrolladores debe ser 30081
- En el repositorio de github.com (https://github.com/xandradx/democontainerapp.git). Existen varios archivos Dockerfile, construya y pruebe la imágen de contenedor y decida en base a su conocimiento cual es la mejor opción para utilizar.
- Se requiere utilizar una red distinta a la por defecto para los contenedores.
- El sistema de prueba, no debe tener en ejecución otro contenedor y/o imagenes que no sean necesarias para la prueba de concepto.
- Para la interfaz web para acceder a la DB, se ha decidido utilizar phpmyadmin en la última versión (latest) y deberá exponerse en el puerto 30082 bajo demanda y deberá eliminarse automáticamente.
- Todos los componentes deben tener limitado el consumo de recursos, de acuerdo a esta tabla:
| COMPONENTE | CPU | MEM |
|---|---|---|
| Wordpress | 0.5 | 2Gi |
| MariaDB | 0.5 | 1Gi |
| phpmyadmin | 0.25 | 1Gi |
- No es necesario que se haga con docker compose.
- Credenciales deben ser de acuerdo a la siguiente tabla:
| COMPONENTE | USUARIO | CONTRASEÑA |
|---|---|---|
| Wordpress | admin | admin.estudiante# |
| (ejemplo: admin.estudiante16) | ||
| MariaDB | root | AUTOGENERADO |
| MariaDB | otros | Definidos por el estudiante |
| Deberá crear una base de datos y usuario para wordpress, con sus credenciales |
- Para este laboratorio no es obligartorio utilizar volumenes.
Referencias
-
Script de inicialización de contenedor temporal.
#!/bin/bash # Debe validar los permisos necesarios y la ubicación de este script, así como completarlo. if [ ! $# -eq 1 ] then echo "Uso: $0 start|stop" exit 1 fi case $1 in "start") ### Agregar los comandos necesario para iniciar phpmyadmin en segundo plano echo "Iniciando phpmyadmin" ;; "stop") ### Agregar los comandos necesario para detenet phpmyadmin en segundo plano echo "Deteniendo phpmyadmin" ;; *) echo "Error e uso" exit 2 ;; esac -
Clonar repositorio de git
git clone URL_REPOSITORIO