O que é o Docker
Docker é uma empresa de conteinerização que permite a criação e uso de containers Linux.
Com o Docker, você pode tratar containers como máquinas virtuais modulares extremamente leves. Além de obter flexibilidade com esses containers, você pode criar, implantar, copiar e movê-los de um ambiente para outro, o que ajuda a otimizar seus aplicativos para a nuvem.
Em poucas palavras, o Docker é um programa de computador, uma ferramenta de linha de comando, uma plataforma de conteinerização, um produto e uma empresa.
O que são Containers
Containers são uma forma de virtualização a nível de sistema operacional que permite rodar múltiplos sistema isolados em um único sistema operacional
Uma virtualização comum, como por exemplo o VMware, é muito pesada e não performática.
Container não é como uma virtualização comum, a diferença principal, é que os containers conseguem compartilhar o mesmo kernel do sistema operacional, sendo assim muito mais performático.
Outra diferença de uma virtualização comum, é que, um container não deve ser utilizado para abrigar várias aplicações, e é justamente por isso que ele ocupa muito menos espaço que uma VM. Sua tendência é de manter somente o essencial no seu conteúdo.
O que são Imagens Docker
A imagem do Docker é aquela que vem com o código e pode ser executada em qualquer plataforma onde o Docker Engine esteja instalado.
Vamos dar um exemplo: Pense que um desenvolvedor escreve código e então ele empacota todo o código, dependências, instaláveis etc em um arquivo chamado Dockerfile e cria uma imagem a partir dele. Agora esta imagem se for dada a qualquer desenvolvedor em qualquer plataforma será executada no Docker Engine como um container. As imagens do Docker são o núcleo de todo o Docker como plataforma. O Docker Image segue uma arquitetura em camadas que ajuda a imagem ser construída mais rapidamente.
Imagens podem se referir a praticamente qualquer tipo de container. Um exemplo disso é pensar o próprio sistema operacional Ubuntu, que possui uma imagem oficial no Docker Hub .
O Docker Hub é o principal repositório de imagens Docker atualmente. Nele, possuímos o que é chamado de Registro (Registry) *, onde requisitamos essas imagens.
- O Registry é um sistema de armazenamento e entrega, no qual podemos ter um usuário com nossas próprias imagens. Algo que lembra muito o GitHub, já que podemos dar pull nessas imagens para uso posterior.
Fluxo entre Containers e Imagens
Para explicar melhor a dinâmica entre containers e imagens, falaremos um pouco de como funciona o fluxo padrão do Docker :
Fluxo padrão do Docker
- Tudo começa em um arquivo chamado
Dockerfile
. Este arquivo possui as instruções* necessárias para que possamos gerar uma imagem;
Aqui vão instruções de qual sistema operacional usar, tal como quais comandos devem ser executados quando a imagem for rodada em um container .
Após isso, podemos dar
push
oupull
(como em um repositório do GitHub) em uma imagem noRegistry
*;Você pode dar pull na sua própria imagem (caso tenha dado
push
nela) ou em outra a sua escolha.O Registro mais comum é o
Docker Hub
, mas temos outros exemplos, como mostrado na imagem.
Por último, rodamos a imagem em um
container
, utilizando o comandorun
.Após isso, temos que dizer pro container o que deve acontecer, se ele deve se manter ativo ou não, caso o contrário, o container é encerrado. O que faz parte de seu ciclo de vida.
Como instalar o Docker
Siga os links do tutorial direto da documentação oficial do Docker.
Top comments (0)