Você está na página 1de 15

Desenvolvendo

aplicativos com
Containers

Direção de Operações
NOSICLOUD / CNA –
Cloud Native Architeture

Autor: Paulo Fernandes


Email: paulo.e.fernandes@nosi.cv
Objetivos
Aprender os Entender as
Entender o que são fundamentos do imagens de
Containers Docker (Docker container e o
Engine e Cliente) Docker Registry

Aprender como
iniciar, parar e
remover containers
do Docker
Porquê Docker?
• Criar qualquer aplicativo em
qualquer linguagem usando
qualquer pilha/stack (OS)
• Aplicativos dockerizados podem ser
executados em qualquer lugar em
qualquer coisa
• Chega de “Funciona na minha
máquina”
• Não há mais daemons de
dependência, então desenvolvidores
e administradores de sistema se
unem
Vocabulário do Docker

Host Uma VM executando o Docker Daemon para hospedar


uma coleção de Docker Containers
Client Onde os comandos docker são executados(client/server)
Image Uma coleção ordenada de sistemas de arquivos
(camadas) a serem usadas ao instanciar um container
(falaremos mais sobre isso posteriormente)
Container Uma instância de tempo de execução de uma imagem

Registry Uma coleção de imagens docker


Challenges with Virtualization
Virtual Machine versus Containers
Docker Platform
Docker Platform (Cont.)
• Docker Client
• Recebe as entradas do cliente e as envia para o
Daemon.
• Cliente e Daemon podem ser executados no mesmo
host ou em hosts diferentes.
• Docker Images
• Template somente de leitura usado para criar
containers.
• Contém um conjunto de instrução para criar os
containers.
• Docker Containers
• Plataforma de aplicação isolada baseada em uma ou
mais imagens.
• Contém tudo o que é necessário para executar seu
aplicativo.
Docker em Ação
Docker Registry
• Armazena docker images
• Pesquisável
• Registro Público – hub.docker.com
• Registros Privados – Instanciada para
você. E.g. https://registry.nosi.cv
• O registro é de código aberto sob a
permissive licença Apache
Docker Images
• Uma imagem do Docker é contruída a partir de
uma série de camadas.

• A imagem do sistema operacional da Plataforma


base é fornecida por fornecedores como
Microsoft para imagem do sistema operacional
Windows, Canonical para imagem Ubuntu, etc.
Essas imagens são publicadas no DockerHub.

• Cada camada representa uma instrução no


Dockerfile da imagem

• Cada camada, exceto a última, é somente leitura.


Dockerfile
• Arquivo de texto com comandos do Docker para criar uma nova
imagem. Podemos pensar nisso como um arquivo de configuração
com um conjunto de instruções necessárias para montar um nova
imagem.

• O Docker tem um comando docker build que analisa o Dockerfile


para criar um nova imagem de container.
Instruções comuns do Dockerfile
Como funciona a compilação do Docker?

Você também pode gostar