Sem 6 - 18 - Plataforma e Operação
sexta-feira, 7 de março de 2025 22:27
Objetivos
Explicar:
• O que é Docker?
• O que são contêiners?
• Dockers x VMs
• Componentes do Docker
• Elementos do Docker
• Plataforma Docker
• Quem usa Docker?
1) O que é Docker?
Docker é uma tecnologia Open Source que permite criar, executar,
testar e implantar aplicações distribuídas dentro de contêiners de
software.
2) O que é um conteiner em Docker?
Ele empacota uma aplicação de forma padronizada para o
desenvolvimento de software, contendo: código, runtime, ferramentas,
bibliotecas, etc.
A vantagem do Docker, é que ele implementa a aplicação de maneira ágil,
confiável e estável, em qualquer ambiente.
3) Por que usar Docker?
Porque ele oferece:
a. Isolamento;
b. Simplicidade;
c. É leve;
d. Tem ampla utilização pela comunidade;
e. E pela definição de fluxo de trabalhos.
4) O que são containers?
É uma maneira de virtualizar recursos em nível de Sistema Operacional
Página 1 de IPSS
É uma maneira de virtualizar recursos em nível de Sistema Operacional
que permite executar uma aplicação e suas dependências em processos
com recursos isolados.
Os códigos e configurações, são empacotados em elementos que
oferecem mais produtividade para os desenvolvedores e controle de
versão.
5) Quais são as vantagens?
a. Confiabilidade;
b. Consistência de implantação;
c. Controle mais granular de recursos (Melhora aumentando a
eficiência da infraestrutura).
Diferenças entre Dockers e VMs
Dockers VMs
• Atua no Nível de Sistema Operacional • Compartilha recursos Físicos entre vários ambientes
isolados.
• Não tem a visão da máquina toda (host) • Cada um desses ambientes tem sob seu poder uma
máquina inteira.
• É um processo em um Kernel compartilhado entre todos os containers. • Possui recursos da máquina como: memória, disco,
CPU, etc.
• Tem a visão de utilizar um SO dedicado.
Componentes principais do Docker
Os Dockers utilizam uma arquitetura cliente-servidor, aquela que o cliente
faz a requisição e o servidor responde com o conteúdo.
Entretanto, o cliente conversa com o Daemon Docker, que é o processo
principal que controla, executa e gerencia containers.
O cliente e o Daemon Docker podem executar no mesmo sistema.
O cliente Docker pode se conectar a um daemon remoto.
O Cliente Docker e o Daemon Docker se comunicam por meio de REST API,
sockets, etc.
Página 2 de IPSS
6) Quais são os elementos do Docker?
Containers Docker, Imagens Docker, Dockerfile e Docker Registry
a. Containers Docker
i. Tem como base uma imagem Docker
1) Analogia: Imagem é uma classe Java e Container é uma
instância dessa classe.
ii. Características dos containers
1) Gerencia o consumo dos recursos;
2) Previne de violação externa;
3) Isolamento de processos;
4) Portabilidade de aplicações.
b. Imagens Docker
i. São como templates para a criação de containers;
ii. São imutáveis;
iii. São construídas em camadas, o que facilita a reutilização e
manutenção.
iv. É um ambiente encapsulado pronto para ser replicado.
c. Dockerfile
i. São scripts com comandos para:
1) Criar imagens;
2) Executar comandos;
3) Criar variáveis de ambiente;
4) Copiar arquivos e pastas do host para a imagem.
d. Docker Registry
Página 3 de IPSS
d. Docker Registry
i. É uma espécie de repositório Git
ii. Imagens podem ser versionadas.
7) O que é Docker Hub?
É o repositório oficial do Docker, que possibilita versionar e hospedar
imagens privadas e públicas.
A plataforma Docker é a junção entre Docker Engine + Docker Hub,
enquanto o Docker Engine (Motor Docker) é a junção entre Docker Daemon
+ Docker CLI.
8) O que o Docker Daemon faz?
a. Constrói imagens;
b. Executa e gerencia containers;
c. Interage via REST API.
9) O que o Docker CLI faz?
Interage com:
a. Docker Build: constrói uma imagem a partir do Dockerfile;
b. Docker Images: Lista todas as imagens de um Docker Host;
c. Docker Run: Executa uma imagem.
d. Docker OS: Lista todas as instâncias paradas e em execução;
e. Docker: stop para uma instância do Docker;
f. Docker rm: Remove uma instância;
g. Docker rmi: Remove uma imagem.
10) O que são Build automatizadas?
11) O que é workflow?
Fluxo de trabalho.
12) O que é um pipeline?
13) Acerca dos Dockers e VMs é correto afirma que:
a. VMs atuam no nível de SO e não têm uma visão de todo o host.
b. cliente Docker não pode se comunicar com um daemon remoto.
c. ambos compartilham recursos físicos entre vários ambientes
isolados.
d. VMs têm a visão de utilizar um SO dedicado.
e. Dockers utilizam uma arquitetura cliente-servidor.
Página 4 de IPSS
e. Dockers utilizam uma arquitetura cliente-servidor.
a. Incorreta: As máquinas virtuais atuam no nível de SO (Sistema
Operaciona) e possuem uma visão de todo o host como memória, CPU,
drivers, etc.
b. Incorreta: Clientes Docker podem se comunicar com um daemon
remoto por meio da API do Docker.
c. Incorreta: Falso, os docker não compartilha recursos físicos.
d. Incorreta: Não são as VMs que utilizam SO dedicado, e sim o Docker.
e. Correta: Os Dockers utilizam uma arquitetura cliente-servidor e um
mecanismo em que o cliente conversa com um daemon Docker, que é
responsável por distribuir e executar as imagens. Além disso, Dockers
têm a visão de utilizar um SO dedicado e atuam no nível de SO, não
tendo uma visão de todo o host.
VMs compartilham recursos físicos entre vários ambientes isolados.
Página 5 de IPSS