Introdução
Sejam bem-vindos à série Dockerize. Nessa série vamos discutir como usar o docker com suas aplicações durante o desenvolvimento até a produção. Também vamos utilizar técnicas como o padrão Builder, compilações de vários estágios para otimizar nossas compilações de produção.
Esse artigo será o ponto de partida para os próximos artigos onde vamos dockerizar nossos aplicativos.
Docker (O que e por quê?)
Docker é uma plataforma de software para construção de aplicações baseada em containers, que são ambientes de execução pequenos e leves.
Mas o que seria um containers?
Containers é um padrão de unidade de software que deixa isolado o ambiente, eles são como uma agregação de dependências que podemos enviar o código relacionado de uma forma que podemos executar com segurança.
O Docker ajuda a eliminar problemas específicos do ambinete, pois você pode replicar seu ambiente de produção localmente, o que fornece consistência entre as equipes onde estiver trabalhando.
Docker Compose
O Compose é uma ferramenta para definir e automatizar criação de container de imagem Docker. Com o Compose "Automatizador de tarefas", podemos utilizar um arquivo declarativo YAML para configurar os serviços da aplicação. Então, com um único comando, podemos criar e iniciar todos os containers.
Não é aconselhável utilizar o
docker-compose
para execução de aplicativos em ambiente de produção. Use ferramentas de orquestrações de contêiner como kubernetes.
Padrão Builder
O Padrão Builder, pertence aos Padrões de Projeto Criacionais , que fornecem vários mecanismos de criação de objetos, que aumentam a flexibilidade e reutilização de código já existente.
O Padrão Builder, permite construir objetos complexos passo a passo. O padrão permite produzir diferentes tipos e representações de um objeto usando o mesmo código de construção.
Refletindo em uma imagem Docker, usamos para criar pequenos artefatos de compilação e, em seguida, usamos esses binários/artefatos em outra imagem menor, reduzindo o tamanho de nossa imagem construída.