Keep Calm And Use Docker: Vendo um pouco de teoria

Renê Soares
2 min readJan 3, 2018

--

Opa pessoal, tudo bem?

Atualmente estou trabalhando em uma empresa no Paraná é uma empresa grande com vários produtos em muitas linguagens. Logo quando quando cheguei senti falta das informações de configuração dos ambientes de cada aplicação que preciso trabalhar. Para minha grande surpresa fiquei um turno com o pessoal de infraestrutura vendo as configurações de ambiente dos sistemas. Quando percebi que para desenvolver teria que configurar diversos ambientes no mesmo notebook, tive a ideia de implementar os meus bons e velhos containers do docker. Visto que já tinha todos os dados dos ambiente em mãos comecei a criar os meus containers. Quando terminei mostrei para alguns colegas aqui da empresa, fiquei espantando como pessoas de um excelente conhecimento técnico, não sabiam como usar a ferramenta e que depois de ver como funcionava querem começar a usar. Por isso tive a ideia de uma sequencia de posts falando sobre docker. :)

Mas afinal, o que é o docker?

Segundo o livro do Rafael Gomes:

De forma bem resumida, podemos dizer que o Docker é uma plataforma aberta, criada com o objetivo de facilitar o desenvolvimento, a implantação e a execução de aplicações em ambientes isolados. Foi desenhada especialmente para disponibilizar uma aplicação da forma mais rápida possível.

Eu sempre acho mais fácil explicar o que não é o docker. Docker não é um sistema de virtualização como o virtual box e afins, pois ele usa recurso isolados que utiliza bibliotecas do kernel em comum utilizando no seu backend o nosso conhecido LXC.

Por que usar o docker?

Antes de mais nada, gostaria de deixar bem claro que o docker não é nenhuma “bala de prata” ou uma solução única para as diversas e variadas situações. Uma vez bem claro isso na cabeça de todos podemos prosseguir.

Logo na introdução falei sobre a dificuldade com os ambientes, lembram? E aqui vai as minhas considerações: o docker possibilita o empacotamento da sua aplicação ou ambiente dentro de containers e a partir deles portar para qualquer host que tenha o docker instalado.

Outro ponto importante é a redução drástica do tempo de deploy da infraestrutura ou aplicação, pois os ajustes de ambiente já estão feitos mesmo que eu replique quantas vezes quiser e facilitar para novos integrantes da equipe com os ambientes da aplicação.

Também é legal a possibilidade criar suas próprias imagens através de uma arquivo de definição chamado Dockerfiles. Sem falar que ele usa por padrão o LXC, com ele eu tenho como definir limitações de recursos por container.

Como falei na introdução, pretendo fazer uma série de posts falando sobre docker, esse foi o primeiro então aguardem que vem mais por ai. Espero que tenham gostado e qualquer pergunta ou duvida basta colocar no comentários.

--

--