Memoria de trabajo con Docker
Descripción general
Hace ya varios años se viene usando varios tipos de soluciones para trabajar de forma masiva y automática en las tareas de despligue de aplicaciones en todo su ciclo. Hay toda una gama de opciones, entre las que destacan: Contenedores (Docker, Puppet, Podman, Kubernetes, Lxd, Proxmox), cuadernos de tareas múltiples (Ansible, Terraform), y muchas más, cada una con sus particulares usos y niveles de complejdad.
Nos demoramos en comenzar a trabajar con ellas básicamente por el bajo volumen de nuestro trabajo en ReDHumus. No trabajamos con big data, no trabajamos con redes o granjas de servidores que requieren levantarse de forma automática. Casi todo nuestro trabajo es a pequeña escala.
Sin embargo, se ha hecho necesario automatizar varias de las tareas por falta de equipo humano, ya que el área técnica es muy pequeña y basada en trabajo volutnario. A pesar de ello, se requiere manejar estándares para tareas comunes de administración como los Backups, actualizaciones, migraciones, entre otras tareas, que consumen mucho tiempo cuando se hacen a mano (con Chinomatic: “Chino” o “China” persona. Una broma para referirse a que todo se hace a mano por debajo)

En resumen, hemos venido probando con Docker y encontramos este balance a la fecha de publicación 2022/11/24
Evaluación de Docker para nuestro caso de uso (aplicable a otras soluciones de contenedores)
Pros |
Contras |
Fácil de actualizar sin pensar en dependencias del sistema |
No es fácil hacerlo funcionar con apps nativas en el host como Mariadb, NGINX, postfix |
Fácil para aplicaciones estáticas y bd tipo SQLLite |
Dificil de manejar parámetros de red |
Empacar y mover aplicaciones funcionales personalizadas |
Para usar la potencia de migración se requiere usar una cuenta en docker.io. La versión gratuita sólo permite subir repositorios públicos. De nuevo entregamos nuestros datos a otres |
Casos de uso
Taguette sobre Docker
Funciona muy bien (Ver Bitácora Taguette)
- Se logró migrar funcional al nuevo server sobre docker compose
Wordpress sobre Docker
Intentamos trabajarlo con docker compose aplicando la experiencia con taguette.
No hemos podido hacer funcionar a Wordpress con o sin MariaDB incluidos en el mismo archivo .yml / No entendemos aún cómo funciona la interface con la red del host.
Hecho: Se hizo funcionar al entender que docker crea una red interna y que los servicios quedan en esa IP y no en 0.0.0.0. Una vez se llama desde el NGINX proxy a esta ip se logra acceder.
Tomcat sobre Docker
Tomcat en si ya funciona como un contenedor. En nuestro caso usamos Geonetwork y Geoserver. Ambas funcionan muy bien sobre Tomcat9 nativo y la actualización no es tan compleja. La migración si tiene sus requerimientos, sobre todo porque hubo que hacer ajustes a la configuración inicial, los cuales tienden a perderse con una nueva instalación.
Fuentes