¿Cómo podría usar Docker para brindar a los clientes acceso a múltiples aplicaciones que se ejecutan en 1 servidor?

¿Cómo podría usar Docker para brindar a los clientes acceso a múltiples aplicaciones que se ejecutan en 1 servidor?

Digamos que tengo un servidor con 200 gigas de RAM y muy rápido. Básicamente quiero alojar una aplicación como rserver que se ejecuta a través de una interfaz web.

Me gustaría colocar cada aplicación en un contenedor con una cantidad determinada de CPU y RAM asignadas. Cada contenedor sería para cada alumno que tengo.

¿Cómo le daría a cada estudiante una dirección http para usar sin codificar a cada estudiante en un puerto?

Respuesta1

Para asignar CPU y RAM, tiene opciones al docker runcrear sus contenedores (consulte docker help run) como --cpuset-cpus=o --memory=.

Para cada estudiante que tenga una dirección http diferente, esto no será sencillo. Lo que hemos hecho para una máquina virtual que aloja 8 servicios maestros jenkins, cada uno ejecutándose en contenedores y cada uno escuchando el puerto 8080 (en el contenedor) expuesto como 808x, es configurar un despachador Apache (o nginx) escuchando solo en 443 y, para cada 8 nombres DNS, enviados a un contenedor diferente. Vea el sistema aquí:http://www.slideshare.net/cm13/scaling-your-jenkins-master-with-docker/16

Para configurar dicho sistema, necesitará tener acceso a la configuración de un servidor DNS para crear un nuevo nombre para cada estudiante. Y también necesitaría automatizar la creación de las configuraciones de Apache vhost (lo cual no es muy difícil). Luego cada estudiante debe ir ahttps://sunombre/que iniciará la aplicación.

Realmente recomendaría automatizar también la creación de contenedores, con docker-composeu otra tecnología.

información relacionada