Para alocar cpu e ram, você tem opções em docker run
ao criar seus contêineres (consulte docker help run
) como --cpuset-cpus=
ou --memory=
.
Para cada aluno ter um endereço http diferente, isso não será simples. O que fizemos para uma VM que hospeda cada um em execução em contêineres e cada um escutando a porta 8080 (no contêiner) exposta como 808x, é configurar um dispatcher Apache (ou nginx) ouvindo apenas 443 e, para cada 8 nomes DNS, despachando para um contêiner diferente. Veja o sistema aqui: link
Para configurar esse sistema, você precisa ter acesso a uma configuração de servidor DNS para criar um novo nome para cada aluno. E você também precisa automatizar a criação das configurações do vache do Apache (o que não é muito difícil). Em seguida, cada aluno vá até o link que abrirá a inscrição.
Eu realmente aconselharia a automatizar a criação de contêineres, com docker-compose
ou outra tecnologia.