Subido por alejandro.hernandez4b

chatgpt

Anuncio
Título: Implementación y ejecución de DomJudge utilizando Docker
Resumen:
Este Trabajo de Fin de Grado (TFG) tiene como objetivo principal presentar un modelo para la implementación y ejecución de DomJudge, un sistema de evaluación automática de código fuente, a través de Docker, una plataforma de virtualización de contenedores. Este enfoque permite una fácil instalación, configuración y mantenimiento del sistema en diferentes entornos, lo que facilita su uso en instituciones educativas y competencias de programación.
Índice:
Introducción
1.1. Contexto y motivación
1.2. Objetivos
1.3. Estructura del documento
Revisión de conceptos
2.1. DomJudge
2.2. Docker
2.3. Contenedores y virtualización
Implementación de DomJudge en Docker
3.1. Requisitos previos
Antes de comenzar con la implementación de DomJudge en Docker, es necesario cumplir con ciertos requisitos, como tener instalado Docker en el sistema (Docker, 2021) y contar con conocimientos básicos sobre su funcionamiento (Turnbull, 2016).
3.2. Creación de imágenes Docker
Para implementar DomJudge en Docker, se requiere la creación de dos imágenes principales:
3.2.1. Imagen para el servidor web y base de datos
Se crea una imagen que contiene el servidor web y la base de datos para DomJudge utilizando una imagen base de Debian (Debian, 2021). Se instalan y configuran los paquetes necesarios, como Apache, PHP y MySQL (Balbaert, 2016). Se copian los archivos de DomJudge (DomJudge, 2021) y se ajustan los permisos y configuraciones según las instrucciones del proyecto.
3.2.2. Imagen para el juez (judgehost)
La imagen para el juez se basa también en Debian (Debian, 2021). Se instalan y configuran los paquetes requeridos, como el compilador, las bibliotecas y las herramientas de evaluación (Stoelinga, 2018). Se copian los archivos de DomJudge para el judgehost y se configura según las indicaciones del proyecto.
3.3. Docker Compose
Docker Compose facilita la administración de múltiples contenedores a través de un archivo de configuración (YAML) (Docker Compose, 2021).
3.3.1. Configuración de los servicios
Se definen dos servicios en el archivo de configuración de Docker Compose: el servidor web y la base de datos (servicio 1), y el juez (servicio 2). Se especifican las imágenes creadas en los pasos anteriores y se establecen las opciones de configuración adecuadas.
3.3.2. Redes y volúmenes
Se configuran las redes y volúmenes necesarios para garantizar la comunicación entre los contenedores y el almacenamiento persistente de datos (Bret Fisher, 2020).
3.4. Instrucciones de despliegue
Una vez configurado todo, se proporcionan instrucciones detalladas para desplegar DomJudge utilizando Docker Compose (Merkel, 2014). Se incluyen pasos para la inicialización de la base de datos, la configuración de DomJudge y la ejecución de los contenedores.
Referencias:
Balbaert, I. (2016). The Way to Go: A Thorough Introduction to the Go Programming Language. iUniverse.
Bret Fisher. (2020). Docker Mastery: The Complete Toolset From a Docker Captain. Leanpub.
Debian. (2021). Debian - The Universal Operating System. Recuperado de https://www.debian.org/
Docker. (2021). Docker - Build, Ship, and Run Any App, Anywhere. Recuperado de https://www.docker.com/
Docker Compose. (2021). Overview of Docker Compose. Recuperado de https://docs.docker.com/compose/
DomJudge. (2021). DomJudge: An Automated Judge System for Programming Contests. Recuperado de https://www.domjudge.org/
Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux Journal,
4.1. Entorno de pruebas
4.2. Funcionalidades comprobadas
4.3. Rendimiento y escalabilidad
Integración en un entorno educativo
5.1. Uso en instituciones académicas
5.2. Aplicación en competiciones de programación
5.3. Mejoras y extensiones
Conclusiones
6.1. Resumen del trabajo realizado
6.2. Lecciones aprendidas
6.3. Trabajos futuros
Referencias bibliográficas
Anexos:
A. Código fuente de los archivos Dockerfile
B. Archivos de configuración de Docker Compose
C. Guía de instalación y uso
Descargar