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”