Docker: contêiner por aplicativo com LAMP incluso ou somente LAMP?

1

Tenho servidor com 20/30 sites para hosts e gostaria de usar os contêineres do Docker para escalabilidade, manutenibilidade e segurança.

Após algumas pesquisas, encontrei duas abordagens:

  1. um contêiner por aplicativo (com todos os incluídos, como LAMP),
  2. um contêiner por "serviço", como Apache, Mysql ... E aplicativos.

Em relação ao meu objetivo (20/30 sites para hosts, contêineres duplicados para aplicativos semelhantes ...) eu teria escolhido o primeiro. Sendo totalmente iniciante, peço conselhos: qual é o melhor?

Obrigado pelas suas respostas!

Nicolas

    
por nbonniot 24.06.2016 / 17:01

1 resposta

0

A solução preferida em um greenfield é ter um contêiner por serviço, portanto, um contêiner do Apache e um contêiner Mysql separado. Como o Apache vai gerar e se comunicar com o aplicativo diretamente na maioria das pilhas LAMP, eu não as separaria. Coloque ambos os contêineres dentro de uma definição docker-compose.yml e inicie-os juntos em uma rede privada (padrão com composição do docker). Isso dá a cada par de contêineres a capacidade de se referirem uns aos outros pelo dns no nome do contêiner e facilita as atualizações (você pode simplesmente trocar o contêiner do db sem recriar o servidor da web).

O aplicativo, quando carregado com um ambiente de script como o php, normalmente será instalado como um volume no contêiner do Apache.

    
por 24.06.2016 / 17:54