Pitch: Docker Tutorial
Docker Tutorial
Estou postando aqui o tutorial de Docker que fiz no meu github.
Partes do tutorial:
Docker - Por quê?
Vamos supor que você desenvolva uma aplicação completa em seu computador. Após desenhar, desenvolver e testar sua aplicação, você resolve enviá-la para um amigo para que ele a use.
Você então envia os arquivos, explica o modo de uso e ele segue o passo a passo a risca. Mas na hora em que ele inicia o aplicativo, ele não funciona. Você se pergunta "como foi que ela não funcionou se eu testei ela várias vezes e deu certo?". A resposta é simples: são ambientes diferentes.
Na hora de desenvolver sua aplicação, você usou certo sistema operacional, instalou certos programas e usou certos utensílios de desenvolvimento que nem sempre serão os mesmo (ou sequer estarão disponíveis) em outras máquinas.
Logo, para que seu amigo use sua aplicação, é necessário que você encontre uma forma de garantir que o ambiente que ela precisa seja replicado em outros ambientes de execução.
Uma das soluções usadas foram as Virtual Machines (VMs): replicas dos sistemas operacionais que rodam dentro de outro sistema operacional, dividindo os recursos da máquina. Essa solução falha apenas no alto uso de recursos e na falta de garantia de dependências específicas do projeto.
O Docker permitiu resolver esse problema a partir da containerização de aplicações. Essa estratégia consiste em isolar os arquivos de sistema e dependências do projeto em containeres: ambientes isolados de execução equipados com os arquivos necessários para o funcionamento dos serviços. É usado em DevOps (garantia de execução, eficiência e escalonabilidade de serviços).