O que é Docker? Virtualização e Container

Docker é um software que facilita a tarefa de implantar e executar, aplicações utilizando container. Neste artigo vamos conhecer mais  sobre o Docker, virtualização e container.

Docker

No universo de DevOps, existe uma complexidade no processo de Deploy de uma aplicação. Muitas vezes pode acontecer de uma aplicação que foi desenvolvida e testada em um ambiente, não funcionar corretamente no ambiente de produção. Isso pode ocorrer devido a versões diferentes de software, falta de componentes necessários para o funcionamento, configurações do ambiente entre outros motivos. 

Com o Docker podemos resolver partes destes problemas. Utilizando o Docker podemos executar cada aplicação em seu próprio container. Um container seria um pequeno ambiente isolado, que contém tudo que a aplicação precisa para funcionar. 

Assim com o Docker podemos facilmente criar uma imagem, nesta imagem vamos colocar  nossa aplicação e tudo que ela precisa para funcionar. Então com base nesta imagem, vamos gerar nosso container que pode ser executado em qualquer máquina que possua o Docker. O container vai funcionar do mesmo modo, independente da máquina onde estão sendo executado.

Agora vamos falar um pouco mais sobre virtualização e sobre container.

Virtualização 

A virtualização é um processo de abstração dos recursos da computação. Este conceito pode parecer complexo, mas é algo bem simples. Com a virtualização podemos por exemplo; executar mais de um sistema operacional simultaneamente em apenas um PC físico. Segue uma lista do comum emprego da virtualização:

  • Facilitar o desenvolvimento de softwares.
  • Executar aplicações diversas na mesma máquina.
  • Simular cenas fictícias.
  • Consolidar servidores.
  • Prover serviços seguros e confiáveis.

Máquinas Virtuais

Uma máquina virtual é uma máquina com seu próprio processador, memória, armazenamento e interface de rede, tudo criado de modo virtual. Este sistema virtual é criado com base em um sistema de hardware físico. Segue uma lista com os softwares comuns para a criação e utilização de máquinas virtuais:

  • VirtualBox
  • VMware
  • QEMU
  • Android Emulator

Abaixo temos a representação do funcionamento de máquinas virtuais criadas com o software VirtualBox.

Na representação acima temos o Hardware, que no caso pode ser um computador comum. Neste Hardware temos um sistema operacional instalado, como Windows ou Linux entre outros. E neste sistema operacional temos o software VirtualBox, que nos permite criar máquinas virtuais. Para que o conteúdo deste artigo não fique muito extenso, não vou abordar o funcionamento do VirtualBox. Assim com o VirtualBox temos no exemplo três máquinas virtuais criadas, cada uma com seu próprio Hardware que foi virtualizado, e neste Hardware seu próprio sistema operacional e aplicações instaladas nele.

Container

Um container é um processo que fica isolado do resto do sistema semelhante a máquina, compartilhando o mesmo Kernel do sistema operacional da máquina. Todos os arquivos necessários para seu funcionamento, são fornecidos a partir de uma imagem. Assim containers são portáteis e consistentes. Segue algumas dos pontos positivos de se utilizar Containers:

  • Reprodutibilidade
  • Isolamento
  • Segurança
  • Baixo custo computacional

Com o Docker conseguimos utilizar da melhor forma os containers. Abaixo temos a representação do funcionamento de containers criados com o Docker.

Na representação acima temos o Hardware, que no caso pode ser um computador comum. Neste Hardware temos um sistema operacional instalado, como Windows ou Linux. E neste sistema operacional temos o software Docker que nos permite trabalhar com containers. Cada container tem tudo o que precisa para seu funcionamento, mas compartilhando o mesmo Kernel do sistema operacional. Assim não é necessário simular um outro Hardware e instalar novo sistema operacional para seu funcionamento.

Com isso concluímos este artigo de apresentação do Docker, esta ferramenta que pode ser ótima para o desenvolvimento de software. Veja o artigo Docker – Tutorial Dockerfile que apresenta um exemplo prático de utilização do Docker.

2 comentários em “O que é Docker? Virtualização e Container”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *