Voltar para Wiki
Programação3 Módulos

Docker - Guia de Containers

Referência rápida para gerenciamento de containers, imagens, volumes e orquestração com Docker Compose.

1

Fundamentos e Instalação

Setup Inicial (Linux)

Comandos essenciais para preparar o ambiente em distribuições Debian/Ubuntu.
bash
sudo apt update
sudo apt install docker.io docker-compose
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
  • docker --version : Verifica a versão instalada.
  • docker info : Exibe informações detalhadas (número de containers, imagens, kernel, etc).

Manipulação de Imagens

Gerenciamento dos blueprints (imagens) que dão origem aos containers.
  • docker pull <imagem>:<tag> : Baixa uma imagem do Docker Hub. Ex: `docker pull python:3.9`.
  • docker images : Lista as imagens baixadas localmente.
  • docker rmi <id> : Remove uma imagem local (não pode estar sendo usada por containers).
  • docker build -t <nome> . : Constrói uma imagem a partir de um Dockerfile no diretório atual.
2

Gerenciamento de Containers

Ciclo de Vida

Comandos para criar, rodar, parar e monitorar containers.
bash
docker run -d -p 8080:80 --name app nginx
  • -d : Detached mode (roda em background).
  • -p 8080:80 : Mapeia a porta 8080 do host para a 80 do container.
  • --name : Dá um nome amigável ao container.
  • docker ps -a : Lista todos os containers (rodando e parados).
  • docker stop <id> : Para a execução de um container graciosamente (SIGTERM).
  • docker rm <id> : Remove um container (ele deve estar parado primeiro).

Debug e Logs

Ferramentas essenciais para entender o que está acontecendo dentro do container.
  • docker exec -it <id> bash : Abre um terminal interativo dentro do container rodando.
  • docker logs -f <id> : Acompanha os logs (stdout) do container em tempo real.
3

Orquestração (Compose)

Docker Compose

Defina múltiplos serviços (containers) em um único arquivo YAML para subirem juntos.
yaml
version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example
  • docker-compose up -d : Sobe toda a stack definida no arquivo yml em background.
  • docker-compose down : Para e remove containers, redes e volumes criados.
  • docker-compose logs -f : Vê os logs de todos os serviços agregados numa tela só.