Docker Tutorial para Iniciantes | O que é, Como Funciona, Containers e Comandos — Teoria e Prática

0
524

O que é?

É um projeto de software livre para automatizar a implantação de aplicativos como contêineres autossuficientes portáteis que podem ser executados na nuvem ou localmente.
Se apoia em recursos existentes do kernel, inicialmente Linux, para isolar a execução de processos.
As ferramentas que o Docker traz são basicamente uma camada de administração de containers, baseado originalmente no LXC.

Como funciona?

Containers

É um padrão de unidade de software que empacota código e todas as dependências de uma aplicação fazendo com que ela seja executada rapidamente de forma confiável independente de ambiente computacional.

Máquinas virtuais x Containers

  • Ambos fornecem virtualização
  • As VMs incluem sistemas operacionais inteiros, tornando-as mais pesadas e mais lentas para iniciar
  • Os contêineres, compartilham o kernel do sistema operacional host e isolam apenas o aplicativo e suas dependências. Isso torna os contêineres muito mais leves, mais eficientes no uso de recursos e mais rápidos para iniciar do que as VMs
  • Os contêineres oferecem uma abordagem de virtualização mais simplificada e focada em aplicativos em comparação com a emulação de sistema mais ampla das VMs

Conceitos chaves (Docker Images, Containers, Dockerfiles e Docker Hub – Registry)

Docker Images

Uma imagem Docker é um pacote leve, independente e executável que inclui tudo o que é necessário para executar um software, incluindo código, tempo de execução, bibliotecas, variáveis de ambiente e arquivos de configuração.

As imagens são imutáveis, ou seja, uma vez criadas, elas não mudam.

Containers

Um contêiner é uma instância de tempo de execução de uma imagem – o que a imagem se torna na memória quando executada.
Isola o aplicativo de seu ambiente e garante que ele funcione de maneira uniforme, apesar das diferenças, por exemplo, entre ambiente de desenvolvimento e testes.

Dockerfiles

  • São scripts usados para criar imagens Docker
  • É um arquivo de texto simples que contém uma série de comandos que o Docker usa para montar uma imagem
  • Automatiza o processo de criação de imagens e garante que seja repetível e consistente

Docker Hub (Registry)

É o serviço de registro baseado em nuvem do Docker.
Permite que você compartilhe suas imagens Docker com outras pessoas ou acesse imagens compartilhadas de outros desenvolvedores e organizações.
Fornece uma vasta biblioteca de imagens que foram contribuídas pelo próprio Docker e por sua comunidade de usuários, permitindo fácil distribuição e controle de versão de imagens.