Tecnologia de Virtualização com Contêineres Docker

Conceitos Fundamentais de Contêineres

Funcionamento e Benefícios

  • Empacotamento de aplicações e dependências em unidades isoladas
  • Multiplos contêineres compartilham o kernel do sistema operacional hospedeiro
  • Operam como processos independentes com inicialização rápida e consumo mínimo de recursos

Comparação com Máquinas Virtuais

Característica Docker VM
Tempo de inicialização Segundos Minutos
Consumo de disco MB GB
Desempenho Próximo ao nativo Reduzido
Escalabilidade Milhares por host Dezenas

Instalação e Configuração

Procedimentos de Instalação

# Ubuntu
sudo apt update
sudo apt install docker-io
sudo systemctl enable --now docker

# Windows 10 (Requisitos: Hyper-V ativado)
# Baixar Docker Desktop: https://www.docker.com/products/docker-desktop

Otimização de Registro

# /etc/docker/daemon.json
{
  "registry-mirrors": ["https://espelho.docker.com"],
  "data-root": "/caminho/alternativo"
}
sudo systemctl restart docker

Gerenciamento de Imagens

Comandos Essenciais

# Busca e obtenção
docker procurar nginx
docker obter nginx:alpine

# Inspeção e remoção
docker inspecionar imagem_id
docker remover_imagem -f imagem_id

# Armazenamento persistente
docker salvar imagem_id > backup.tar
docker carregar -i backup.tar

Operações com Contêeneres

# Criação e execução
docker executar -dit --nome app -p 8080:80 nginx

# Gerenciamento
docker iniciar app
docker parar app
docker reiniciar app

# Interação e remoção
docker executar_comando app sh
docker remover app -f

Repositórios e Distribuição

# Docker Hub público
docker login -u usuario
docker marcar imagem_id usuario/app:v1
docker enviar usuario/app:v1

# Repositório privado
docker executar -d -p 5000:5000 registro
docker marcar imagem_id localhost:5000/app
docker enviar localhost:5000/app

Automatização com Dockerfile

Estrutura Básica

FROM python:3.9
COPIA requisitos.txt /app
TRABALHARDIR /app
EXECUTAR pip install -r requisitos.txt
EXPORTA 8000
CMD ["python", "app.py"]

Construção de Imagem

docker construir -t app_python:v1 .

Orquestração com Docker Compose

Arquivo de Configuração

version: "3"
serviços:
  web:
    construir: .
    portas:
      - "8000:8000"
  banco:
    imagem: postgres:14
    ambiente:
      POSTGRES_PASSWORD: senha

Comandos Principais

docker-compose subir -d
docker-compose parar
docker-compose descer

Conectividade antre Contêineres

# Criação de rede dedicada
docker rede criar rede_app

# Conexão de contêineres
docker executar --rede rede_app --nome app1 nginx
docker executar --rede rede_app --nome app2 nginx

Tags: Docker contêineres Orquestração virtualização Dockerfile

Publicado em 6-11 01:01 por Thomas