2
respostas

[Dúvida] Docker-file ou uso de imagens montadas e "commitadas"?

Olá pessoal, sou novo com docker e me surgiu uma dúvida. Em ambiente de produção e neste caso falando de boas práticas o que é melhor?

Ter o docker file para subir novamente a imagem em caso de necessidade ou utilizar a imagem armazenada no docker hub que foi gerada a partir de um commit?

Esta dúvida me veio, pois acho mais prático cria uma imagem fazendo as instalações necessárias e depois fazer um commit Segue exemplo onde gero uma aplicação web: docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" ID_da_imagem_rodando repositorio/imagem:versionX

Quando faço isso muitas vezes nem tenho o Docker-file pois pego uma imagem base, faço a instalação das dependências e depois rodo o commit.

Desde já agradeço a todos que puderem comentar. Obrigado.

2 respostas

Olá Douglas, tudo bem?

Você pode utilizar uma imagem "pronta", por exemplo, do MySQL, customizá-la, subir ela no dockerhub e utilizar em produção, sem problemas, é bem comum inclusive

Olá Otávio, como vai? Tudo bem por aqui. Estive lendo um pouco sobre o assunto e a conclusão que cheguei até o momento é que podemos trabalhar das 2 formas e ambos tem vantagens e desvantagens.

No caso de utilizar um commit temos uma imagem pronta para uso que pode ser facilmente levantada, mais caso esta imagem tenha algum bug é um pouco mais complexo de se resolver comparado ao Dockerfile que basicamente seria necessário modificar a linha que gerou o problema.

Outro ponto positivo do Dockerfile é o fato de estar ali disponível para consulta em caso de necessidade. Ex. para consulta depois de um tempo, ou para aproveitar trechos deste Dockerfile para montar outro contêiner.

Um ponto negativo (do Dockerfile) é em caso de aplicações legadas muitas vezes passamos por grandes apuros para montar uma imagem com dependências que já não fazem mais parte de repositórios novos, é bem possível que no futuro algumas dependências de softwares que usamos em nossos conteiners hoje já não estejam mais nos repositórios daqui a alguns anos, neste caso ponto para a imagem. (P.S. Alguns podem dizer que o ideal é manter tudo atualizado, mais sabemos que algumas vezes não é bem assim que acontece).

O que vocês acham sobre estes pontos? Estou no caminho certo? Aguardo comentários.