Eu tenho um aplicativo que consiste em aplicativo da Web PHP, banco de dados MySQL e serviço de sistema escrito em C ++. Atualmente, compartilho este aplicativo em três contêineres: php: 7.1-apache , mysql:5.7 e debian: jessie , respectivamente . Para facilitar, use o docker-compose para fornecer uma configuração "pronta para ser executada" para todo o aplicativo.
No entanto, essa atitude resulta em algumas desvantagens:
- Os usuários devem instalar o docker-compose
- Eu achei o docker-compose muito lento em dispositivos baseados em ARM como o Raspberry Pi (e parece Eu não estou sozinho
- Usuários de dispositivos com alguma GUI para Docker (como QNAP) não podem instalar meu aplicativo com "clique único" porque eles permitem extrair e iniciar somente uma única imagem autônoma do Docker HUB
Então, minhas perguntas são
- É uma boa ideia empacotar todas essas coisas em um único contêiner e usar um supervisor para gerenciá-las, como Documentos do Docker sugerem ?
- O que pode dar errado com essa configuração?
- Existem outras alternativas e / ou melhores práticas?