Como permitir que o usuário gerencie aplicativos da web usando o docker?

Como permitir que o usuário gerencie aplicativos da web usando o docker?

Para hospedagem na web, minha empresa pretende usar contêineres docker para cada aplicativo da web com um proxy reverso como front-end. Funciona, mas estamos procurando uma maneira de permitir que nossos usuários gerenciem seus próprios aplicativos, os administradores controlarão os acessos públicos e privados através do proxy reverso e do DNS.

Mas não podemos permitir que o usuário tenha autorização para iniciar/parar instâncias do docker, pois o usuário que pode enviar comandos para um daemon do docker pode fazer o que quiser (conforme descritoaquieaqui).

Então, como podemos permitir que o usuário inicie/pare e configure alguns contêineres docker específicos?

A única solução neste momento (encontradaaqui) é permitir que o docker detecte alterações no registro para baixar e reiniciar atualizações, por exemplo, comTorre de vigia).

Outra alternativa éaguarde o suporte do namespace do usuáriopara evitar que o usuário do contêiner raiz possa acessar o usuário do host raiz, mas isso será suficiente?

editar: docker não é tão forte em termos de segurança, mas no nosso caso:

  • Os usuários estão limitados a funcionários internos autenticados
  • Os usuários não podem acessar diretamente o daemon docker (este é o ponto da minha pergunta)
  • É uma solução melhor que o apache de uma instância com cem vhosts
  • Precisamos lidar com demandas sobre alternativas de framework web/configuração exótica (node.js, meteor, ruby) em vez do clássico LAMP, e containers são ótimos para desenvolvedores transferirem suas aplicações para a plataforma de hospedagem.
  • Esta é uma experiência que estamos conduzindo, esperamos que em um futuro não tão distante soluções comoprojeto atômicoe/ou o suporte do namespace do usuário trará melhores garantias.

Responder1

Você poderia adicionar à interface do cliente uma opção que mostra o contêiner que ele possui e permite que ele reinicie seu contêiner viaAPI remota do Docker

Mas isso só deve ser uma opção se você tiver uma interface de usuário segura e um bom gerenciamento de direitos de usuário.

Esteja ciente de que a API remota do Docker mudará na próxima versão 1.9 no final de outubro.Roteiro 1.9

informação relacionada