Mind Map Gallery Docker
This is a mind map of docker. You can make and share your own mind maps easily. Just try EdrawMind mind mapping software for free!
Edited at 2023-01-30 22:32:47Docker
Docker Hub
Contém um repositório de imagens que podem ser baixadas pelo docker
Problemas que resolve
isolamento de contextos e versionamento de aplicações
Reduz o consumo de recursos ao utilizar um só ambiente com propriedades isoladamente compartilhadas
Evita conflitos ao compartilhar um mesmo ambiente com requisitos e funcionalidades
Sistema de Virtualização não convencional
Mantido através de processos
Container
Um mesmo ambiente em nuvem
Configurações
Instalações
Versão
Propriedades
LXC (Linux Container)
Kernel do Linux
chroot
Reponsavel por mapear os diretórios do S.O. e criar o ponto de montagem (/, /etc, /dev, /proc entre outros)
cgroup
Reponsável por controlar os recursos por processo. Com ele podemos por exemplo limitar o uso de memória e/ou processador para um processo específico
kernel namespace
Com ele podemos isolar processos, ponto de montagem entre outras coisas. Com esse isolamento, conseguimos a sensação de estar usando uma máquina diferente da máquina host. Pois enxergamos somente o ponto de montagem especifico e processos especificos, inclusive nossos processos começam com PID baixo
kernel capabilities
Entre outras coisas, conseguimos rodar alguns comandos de forma privilegiada
Redes
None
Determina que o container não irá possuir qualquer interface de rede vinculada
Host
Determina que o container utilize a mesma interface de rede do host
Bridge
Cria uma rede que permite que os containers comuniquem entre si
Imagens
Possuem instâncias a serem instaladas e configuradas nos containers. Baixadas de um repositório (a nomenclatura para esse repositório é registry) ou criadas localmentes e compiladas
Criadas a partir de um arquivo chamado Dockerfile
Com o arquivo Dockerfile, compilamos uma imagem através do comando docker build
Enterprise Edition
Ambiente homologado com infraestrutura certificada e segura
Community Edition
Gratuito mas possível de chegar em certa configuração de forma manual
Versões
Comandos
Baixar imagem: docker pull + nomeDaImagem
Listar imagens: docker images
Iniciar container: docker run
Procura a imagem localmente -> baixa a imagem do repositório caso não encontre -> Valida o hash -> Instala a imagem e executa
Listar containers em execução: docker ps
Remover containers: docker rm
Reativa o container: docker start + ID do container
Executa em modo interativo: docker exec IMAGEM PROCESSO
Mostra o mapeamento de portas de um container: docker port
Traz detalhes e informações sobre um container: docker inspect ID
Mostra os comandos e operações sobre determinado container: docker history ID
Lista as redes disponíveis e utilizadas: docker network
Namespace
Garante que cada container tenha a capacidade de se isolar em determinados níveis
PID
Isolamento dos processos rodando dentro do container
NET
Isolamento das interfaces de rede
IPC
Isolamento de comunicação entre processos e memória compartilhada
MNT
Isolamento do sistema de arquivos/pontos de montagem
UTS
Isolamento do Kernel, age como se o container fosse outro host
Persistência de Dados
Quando um container é removido, os dados são excluídos
Bind Mounts
Realiza uma ligação entre um ponto de montagem do nosso sistema operacional e algum diretório dentro do container
Volumes
Cria uma área gerenciada pelo Docker dentro do seu file system
tmpfs
Cria arquivo temporário no host que não persiste dados
Docker Compose
Coordenação de Containers
Define e executa vários containers através de um único arquivo
depends_on
Cria uma dependência que ordena a execução dos serviços
Não aguarda processos dentro dos containers mas a criação destes