Estou começando a usar o Docker para meu desktop Kubuntu.
Como estou seguindo os tutoriais, tem me ajudado a entender como isso funciona, mas estou preso à seguinte situação:
Gostaria de implantar contêineres por pelo menos três:
- servidor da Web (Apache)
- banco de dados compatível com SQL (MariaDB / MySQL)
- Java personalizado SDK (baseado em OpenSDK)
Pesquisando como, as pessoas recomendam strongmente o uso de imagens básicas baseadas em Alpine, pois elas usam apenas 5-6 MB de armazenamento em disco, o que é muito bom. E isso resolveria meus problemas para o servidor da Web e o banco de dados, desde que já existam imagens de base no Docker Hub.
Mas o problema é com o Java SDK, onde eu apenas construo meu próprio ambiente de desenvolvimento personalizado que precisa usar uma imagem de base do Ubuntu 16.04 . (Eu poderia portá-lo para o Alpine, mas haveria muitos problemas que eu não gostaria de resolver).
Se eu entendi como o Docker funciona, se vários dockerfiles estão usando a mesma imagem de base, não é necessário fazer o download novamente, pois ele seria usado por todos os contêineres que o exigem.
Em seguida, seria uma boa idéia usar essa imagem de base do Ubuntu 16.04 para também implantar o servidor da Web e o banco de dados (e mais contêineres, se houver)? Como o uso das versões Alpine mencionadas no Docker Hub também precisaria fazer o download de suas imagens de base da Alpine (mesmo que sejam apenas 5 MB ).
Obrigado antecipadamente.
Just to clarify: I DO NOT want to change the tools I am currently using, that is not the question, I just want to understand Docker and good practices with it.