Introdução ao docker
Categories:
- Introdução ao docker
Introdução ao docker
- Docker é um mecanismo de contêiner de aplicativos que permite empacotar aplicativos e seus pacotes de dependências em um contêiner portátil, que pode então ser publicado em qualquer máquina Linux ou Windows popular, também podendo alcançar virtualização.
- Por que surgiu o Docker? Porque desenvolvedores e operadores frequentemente enfrentam um tipo de problema: aplicativos rodam sem nenhum problema no ambiente do desenvolvedor, mas apresentam inúmeros bugs no ambiente de produção real.
- A execução de programas abrange desde a arquitetura de hardware até o sistema operacional e, então, ao aplicativo em si. Esses são diferentes níveis, mas desenvolvedores geralmente focam apenas no desenvolvimento do aplicativo, negligenciando problemas em outros níveis.
- A chegada do Docker visa resolver esse problema, empacotando aplicativos e suas dependências em um contêiner, eliminando preocupações com o ambiente.
- Sincroniza os ambientes de desenvolvimento e produção, permitindo que desenvolvedores criem, testem e implantem aplicativos localmente sem se preocupar com questões de ambiente. Melhora significativamente a eficiência de desenvolvimento e operação, com o custo de um pequeno desperdício de recursos.
Recomendo enfaticamente que todos os desenvolvedores aprendam a usar contêineres para desenvolvimento e implantação. Com um custo relativamente baixo, oferece um ambiente de execução estável para seus aplicativos, aumentando a eficiência de desenvolvimento e operação.
Descrevendo, de forma simples, um fluxo de trabalho típico usando Docker:
- Crie um ambiente de desenvolvimento do zero, incluindo o sistema operacional, aplicativos, pacotes de dependências, arquivos de configuração, etc.
- O ambiente pode ser executado e criado em qualquer lugar.
- O resultado da compilação do código-fonte no ambiente é estável e previsível, com comportamento totalmente consistente.
- Não ocorrem ambiguidades na execução de programas no ambiente.
- É preferível usar uma abordagem declarativa para criar o ambiente (docker-compose), reduzindo ainda mais as diferenças ocultas, já que tudo no ambiente está descrito na declaração.
- Crie um commit, crie a imagem, o que equivale a um instantâneo que preserva o ambiente atual para uso futuro.
- Compartilhe a imagem com outros desenvolvedores e operadores, permitindo que todos trabalhem simultaneamente com base no mesmo contexto.
- À medida que a demanda do negócio evolui, modifique a imagem, recrie o commit, recrie a imagem e redistribua.