Uma plataforma aberta para desenvolvedores e administradores de sistemas, usada para construir, executar e distribuir "máquinas".
"Máquina" será sempre usada entre aspas, pois esse termo será usado apenas para facilitar o entendimento. Ele não é correto, uma vez que máquina mesmo é somente o host onde o docker é executado, ou seja, tudo roda de forma isolada na mesma máquina.
Tudo isso é possível por conta da Docker Engine, que é um forma de empacotamento de infraestrutura, que é portável e simples, na qual constitui facilmente várias "máquinas" executando no mesmo kernel, porém isoladas logicamente, usando as tecnologias LXC, Aufs e Btrfs.
Continuando sobre o conceito da plataforma Docker, eles disponibilizam também um serviço de nuvem para armazenar e compartilhar imagens prontas, criadas tanto pela comunidade responsável pelo Docker, como por qualquer outra pessoa interessada, e o melhor, sem custo!
Cada pessoa registrada no serviço tem a possibilidade de criar um número ilimitado de imagens públicas (todos podem ver e baixar) e apenas uma imagem privada na conta gratuita.
Imagens e containers
Uma máquina docker pode ser composta de várias camadas. E essas camadas se dividem em dois tipos; Imagens e Containers.
- Imagens - uma vez as "máquinas" em execução essas camadas são montadas como somente leitura. Elas podem ser compartilhadas por várias "máquinas", ou seja, uma vez modificadas afetam todas as "máquinas" que usam essas imagens.
- Containers - essas camadas são montadas como leitura e escrita. É onde de fato estão as modificações da "máquina" em execução. Toda modificação realizada em uma imagem é feita a partir de um container.
Instalando o docker
Se você usar Debian Jessie ou superior, não terá problemas. Basta executar o comando abaixo:
# aptitude install docker.io
Caso não utilize GNU/Linux, pode usar o
boot2docker.
Comandos básicos
Infelizmente o Docker ainda não tem uma interface web ou gráfica desktop suportada de forma estável pela sua comunidade oficial, sendo assim falaremos aqui apenas de comandos no shell.
Seguem abaixo os comandos mais básicos do docker:
- docker pull [nome da imagem] - baixar imagem
- docker images - listar imagens
- docker run [nome da imagem] - iniciar a imagem
- docker ps - listar containers
- docker exec [id do container] [comando] - executa comandos no container
Mais comandos podem ser encontrados nesse link: