Como eu poderia usar o docker para fornecer aos clientes acesso a vários aplicativos em execução em um servidor?

Como eu poderia usar o docker para fornecer aos clientes acesso a vários aplicativos em execução em um servidor?

Digamos que eu tenha um servidor com 200 GB de RAM e muito rápido. Basicamente, quero hospedar um aplicativo como o rserver, que é executado por meio de uma interface web.

Gostaria de colocar cada aplicativo em um contêiner com um número definido de CPU e RAM alocados. Cada contêiner seria para cada aluno que tenho.

Como eu daria a cada aluno um endereço http para usar sem codificar cada aluno em uma porta?

Responder1

Para alocar CPU e RAM você tem opções ao docker runcriar seus contêineres (veja docker help run) como --cpuset-cpus=ou --memory=.

Para cada aluno com um endereço http diferente, isso não será simples. O que fizemos para uma VM hospedando 8 serviços mestres jenkins, cada um rodando em contêineres e cada um ouvindo a porta 8080 (no contêiner) exposta como 808x, foi configurar um despachante Apache (ou nginx) ouvindo apenas em 443 e, para cada 8 nomes DNS, despachando para um contêiner diferente. Veja o sistema aqui:http://www.slideshare.net/cm13/scaling-your-jenkins-master-with-docker/16

Para configurar tal sistema, você precisaria ter acesso a uma configuração de servidor DNS para criar um novo nome para cada aluno. E você também precisaria automatizar a criação das configurações do Apache vhost (o que não é muito difícil). Então cada aluno irá parahttps://seunome/que iniciará o aplicativo.

Eu realmente aconselharia automatizar também a criação de containers, com docker-composeou outra tecnologia.

informação relacionada