Usando Docker no Windows 10

Olá pessoal,

Neste artigo irei passar uma visão geral de como funciona o Docker e também mostrar um passo-a-passo de como preparar um ambiente para usá-lo. É o primeiro de uma série de artigos que tem como o objetivo mostrar como o Docker pode ser usado para aprimorar e agilizar o processo de desenvolvimento de aplicações.

Usarei como ambiente o sistema operacional Windows 10. Mas o mesmo procedimento poderá ser realizado com êxito usando sistema operacional Linux e Mac OS X. Contudo, alguns passos descritos a seguir são necessarios justamente por estarmos realizando o procedimento no Windows.

O que é o Docker

O Docker é um solução para containerização, que é uma alternativa para as tradicionais máquinas virtuais. Tanto máquinas virtuais como contairners proporcionam recursos computacionais, tendo como benefícios o isolamento e facilidade de alocação de ambiente computacional. Contudo, os containers tem uma arquitetura diferente. Enquanto as máquinas virtuais tem um sistema operacional completo e vários softwares e bibliotecas para executar as aplicações, os containers possuem apenas as aplicações e as bibliotecas dependentes, compartilhando uma mesma engine. Consequentemente, os conteiners são bem menores e podem ser facilmente compartilhados e replicados.

docker_container-vs-vms

Pré-requisitos para executar o Docker

Para usarmos o Docker na nossa máquina, devemos:
– Ter o sistema operacional Windows 10 64 bits (atualização 1511 de novembro, build 10586 ou posterior).
– Dispor de tecnologia de virtualização e ter o Hyper-V habilitado e funcionando.

Para verificar essas informações, abra o terminal de linha de comando do Windows e execute o seguinte comando:

C:>SystemInfo

docker_systeminfo_1

docker_systeminfo_2

Caso seu computador não tenha tecnologia de virtualização, uma opção é usar serviços Docker na núvem como, por exemplo, o Docker no Azure. Mais adiante, nessa série de posts, iremos explorar esse recurso.

Instalando o Docker para Windows

Tendo sido atendidos os pré-requisitos, podemos prosseguir para instalação. Acesse o site https://docs.docker.com/docker-for-windows/. Você pode escolher tanto o canal Beta como o Stable. Lembrando que o Beta apesar de dispor de mais funcionalidades, pode apresentar instabilidade e erros.

Para escrever este artigo usei o docker stable versão 1.12.1 (build 7135)

  1. Clique no canal Beta ou Stable. Nesse artigo estou usando o Stable – docker stable versão 1.12.1 (build 7135)
  2. Após ser baixado o arquivo InstallDocker.msi, execute-o e siga os passos do instalador.
  3. Ao finalizar a instalação, escolha por inicializar o Docker. O mesmo será inicializado e configurado automaticamente.

Nessa configuração, será instalada uma maquina virtual linux no Hyper-V e também será criado um Internal Virtual Switch chamado DockerNAT. Ambos são necessários para conseguirmos usar os recursos do Docker (para mais detalhes, acesse: http://docker-saigon.github.io/post/Docker-Beta/).
docker_install

  1. Agora abra novamente o Prompt de comando ou Powershell e execute os seguintes comandos para verificar a instalação do docker:

C:>docker version

C:>docker ps

docker_explore

Containers e Imagens

A imagem é a definição de um ambiente computacional, com softwares, bibliotecas e arquivos. Ela é definida como um template e então publicada, tornando-se disponível para posterior uso. Por exemplo, temos várias imagens do servidor nginx em diferentes versões. São várias imagens disponíveis no Docker Hub (site oficial Docker) disponíveis no site https://hub.docker.com/explore/.

A partir da imagem, podemos definir instâncias que são chamadas de containers. Uma imagem pode ter um ou mais containers sendo executados onde cada container define configurações customizadas a partir da imagem original.

Você ainda pode, a partir de uma imagem, incluir alterações e configurações customizadas e então gerar uma nova imagem que pode ser disponibilizada no seu docker hub pessoal e distribuída para outras pessoas da sua equipe de desenvolvimento, por exemplo.

docker_imagecontainer

Demonstração

Para exemplificar o que foi descrito até agora, vamos experimentar uma das imagens disponíveis no Docker Hub, o whalesay.

  1. Abra o prompt de comando do Windows.

  2. Execute o seguinte comando:

C:>docker run docker/whalesay cowsay boo

docker_run_whalesay

Ao executar o comando acima, o Docker irá verificar se a imagem whalesay já está disponível localmente. Se não estiver, é feito download (pull) da imagem. Feito isso, é criado um container para aquela imagem e então o container é executado no Docker. Segue arquitetura do Docker que explica esse procedimento:

docker_architecure

Após executar o comando, o container é finalizado. Se você agora executar o comando docker ps irá ver que o container não é listado. Mas ao usar a opção -a, será exibido o container que foi executado:

docker_ps

Esse comando exibe uma tabela com várias colunas, dentre elas a coluna “CONTAINER ID” que exibe o Id do container e a coluna “NAMES” que exibe o nome do container. Nos próximos artigos veremos que podemos usar tanto o Id como o nome para realizar operações sobre o container. Já a coluna “IMAGE” exibe a imagem que foi usada para criar o container.

Outro comando que podemos explorar é o docker images que mostra todas imagens que temos disponíveis no nosso Docker local:

docker_images

Próximos Passos

Apresentei nesse artigo uma visão geral do Docker, suas imagens e containers. Para os próximos artigos iremos explorar outras possibilidades do Docker, como:
Criar um container Apache Httpd para desenvolver site HTML estático a partir de nossa máquina, demonstrando como compartilhar arquivos de nossa máquina no container.
Criar uma infraestrutura de containers Nginx, PHP e MySQL para desenvolver aplicação Web PHP, demonstrando como realizar comunicação entre diferentes containers.
– Criar imagens personalizadas e subir no nosso Docker Registry (registro de imagens Docker) para posteriormente compartilhar com outras pessoas.

E fiquem a vontade para sugerir exemplos para demonstrarmos aqui. Abraços e até a próxima.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s