Como instalar o Docker no Windows – 2021

Docker é uma tecnologia que permite rodar aplicações de forma muito rápida, utilizando pouquíssimo recurso computacional (CPU, Memória e Disco).

No catálogo de images Docker você vai encontrar uma grande variedade de aplicativos prontinhos, de banco de dados até gerenciadores de conteúdo como o WordPress.

Neste artigo você vai aprender como instalar o docker e rodar um servidor HTTP Nginx no Windows!

Passo 1: Validando os pré-requisitos de instalação

Para instalador o docker vamos precisar:

  • Windows 10 64-bit: Pro 2004 (build 19041) ou maior, Enterprise ou Education 1909 (build 18363) or maior;
  • 4 CPUs, 4GB de RAM e pelo menos 20GB de espaço livre em disco;
  • Um processador 64-bit com Second Level Address Translation (SLAT) habilitado.

Outro recurso bem importante que vamos precisar é a virtualização de hardware. Para verificar se este recurso está ativo, abra o gerenciador de tarefas do windows, navegue até a aba Desempenho e verifique se o item Máquina Virtual está configurado conforme a figura abaixo:

Passo 1 : Download e instalação:

1 – Navegue até a página https://docs.docker.com/docker-for-windows/install/ e clique em Docker Desktop for Windows:

2 – Inicie a instalação clicando duas vezes no Docker Desktop Installer.exe e em seguida, sim para para permitir que o instalador faça alterações em seu sistema:

3 – Como pré-requisito vamos precisar instalar o WSL 2, a boa notícia é que para instalar o WSL 2 basta selecionar a opção Install required Windows components for WSL2 e o instalador do docker fará todo o trabalho para você:

4 – Ao final da instalação re-inicie a máquina clicando em closet and restart:

5 – Depois do boot vamos ver a seguinte mensagem: WS2 installation is incomplete. Fique calmo :-), isso faz parte do processo de instalação

 

6 – Para resolver é bem fácil, navegue até a página https://aka.ms/wsl2kernel e baixe o pacote de atualização:

7 – Clique duas vezes no arquivo baixado para iniciar a instalação e ao finalizar, re-inicie sua máquina:

8 – Abra a UI de configuração do Docker clicando no ícone Docker no desktop e verifique e aparece a seguinte mensagem:

Instalação finalizada!!!

Passo 2 : Validando a instalação:

Para validar a instalação vamos rodar um servidor http nginx em docker.

1 – Abra seu prompt e execute a seguinte linha de comando:

docker run --name http-server -p 8080:80 nginx:latest
Neste processo o docker irá baixar a imagem do nginx do hub.docker.com e criar um container.

2 – Para acessar a aplicação navegue até o seguinte endereço: http://localhost:8080

Agora você pode rodar aplicações prontinhas de forma muito fácil em seu Windows! Até o próximo post! 

Faça parte da minha rede: www.linkedin.com/in/eduardofrancellino

Continuous Delivery vs Continuous Deployment

Continuous Delivery e Continuous deployment – São termos frequentemente usados em DevOps e causam bastante confusão por serem bem parecidos 🙂

Neste artigo vamos entender suas características e como se complementam!

Continuous Delivery

Continuous Delivery é uma prática que automatiza o ciclo de vida do desenvolvimento de software, permitido que uma nova versão ou funcionalidade esteja pronta para ser implantada em produção a qualquer momento.

Para entregar software com qualidade e de forma continua é preciso garantir que processos manuais e tarefas repetitivas sejam automatizados, além tornar o processo mais ágil a automação ajuda reduzir possíveis erros humanos.

Pipeline com Continuous Delivery
Pipeline usando Continuous Delivery

Na figura acima quase todo o processo é automatizado, exceto o deploy em produção. Isso acontece porque em algumas empresas existe um time chamado CAB (change approval board).

O CAB é responsável por aprovar ou não um novo deploy em produção, e é justamente aqui onde começamos falar sobre Continuous Deployment.

Continuous Deployment

Continuous Deployment significa que qualquer alteração feita em seu software, seja ela corretiva, evolutiva… Será integrada, testada, compilada e se passar por todos os testes unitários e de integração, será implantada diretamente em produção sem intervenção humana!

Essa abordagem depende extremamente da qualidade dos testes automatizados pois serão estes que irão dizer se o software pode ou não entrar em produção.

Pipeline usando Continuous Deployment
Pipeline usando Continuous Deployment

Continuous Delivery e Deployment na vida real

Seu cliente reportou que os usuários do e-commerce estão recebendo uma mensagem de erro aleatória que afeta diretamente o processo de compras no portal, este problema precisa ser corrigido o mais rápido possível pois estamos em Black Friday!

O time de desenvolvimento recebe este feedback e para simular o erro precisa fazer o deploy em um ambiente interno similar ao de produção, isso precisa acontecer rápido!

É acionado um deploy com base na release de produção, os testes automatizados são executados com sucesso e a aplicação é implantada no ambiente interno sem intervenção humana. Isso é o que chamamos de Continuous Delivery!

Em seguida, o erro é rapidamente identificado, corrigido e um novo deploy automático é acionado, mas agora o deploy é feito diretamente em produção. Sim! Acabamos de fazer um Continuous Deployment!

Podemos dizer então que:

Continuous Deployment é o resultado natural de um Continuous Delivery bem feito!

Conclusão

A diferença entre Continuous Delivery e Continuous Deployment está na forma como entregamos nosso software em produção. Na primeira abordagem o deploy é feito de forma manual dependendo de uma aprovação, já na segunda abordagem o deploy é feito diretamente em produção, de forma continua e sem intervenção humana.

É importante dizer que em ambos os casos é mandatório que 100% do código esteja coberto por testes automatizados.

Que tal colocar estes conceitos em prática?

Até o próximo post! 

Faça parte da minha rede: www.linkedin.com/in/eduardofrancellino