DOCKER – RODANDO SUA APLICAÇÃO EM QUALQUER MÁQUINA
Já teve aquele problema de desenvolver uma aplicação, e na hora de apresentar ela em outra máquina, não dar certo? Ou talvez, você pegou a aplicação desenvolvida por um colega de trabalho, e precisou instalar várias dependências específicas até conseguir fazer ela funcionar? Para a sua sorte, a plataforma Docker foi desenvolvida justamente buscando resolver este problema.
Para entender melhor o seu conceito, vamos imaginar a seguinte situação: você desenvolveu uma aplicação que para funcionar corretamente, precisa de várias dependências diferentes e em versões específicas, para evitar eventuais problemas ou mal funcionamentos. Ao invés de ter que instalar dependências específicas em toda máquina em que a aplicação for utilizada, você pode simplesmente criar containers dentro do Docker. E como esses containers funcionam?
Um container nada mais é do que um ambiente isolado. Nele, vamos ter apenas uma dependência específica instalada, na exata versão que precisamos para nossa aplicação rodar. Depois de termos todos os nossos containers, cada um com uma parte do nosso projeto, chegamos em uma questão bem importante. Como garantimos que esses containers consigam interagir e executar a nossa aplicação? A resposta para esta pergunta está na Imagem Docker.
Imagem Docker é a responsável por conter sistema operacional e todas as regras e parâmetros necessárias para o seu projeto funcionar, elas são como modelos. Também é através da imagem que você poderá compartilhar a sua aplicação em diversos ambientes de trabalho distintos.
Depois disso tudo você deve estar se perguntando, não seria mais fácil resolver a questão inicial do post usando uma Máquina virtual? Elas eram e ainda são muito utilizadas para a resolução deste problema, porém, se fizermos uma comparação direta entre as duas plataformas, o Docker acaba saindo na vantagem. Não irei entrar em detalhes muito técnicos, mas, a principal diferença é que, enquanto VMs utilizam hypervisor para criar o ambiente virtual, enquanto que o Docker utiliza de recursos do próprio kernel para o mesmo fim. Com isso os containers acabam inicializando mais rapidamente, o que no fim acaba dando uma performance melhor para a sua aplicação.
Mas isto é apenas um resumo desta maravilhosa ferramenta, para mostrar por que esta tecnologia está ganhando muita popularidade recentemente, e, quem sabe, espero ter motivado a curiosidade do nosso caro leitor a aprender mais sobre o assunto.
Autor: Fernando Felipe Flesch Rohr