Comandos Docker
🧱 Containers – criação, execução e controle
# Listar containers em execução
docker ps
# Listar todos os containers (inclusive parados)
docker ps -a
# Criar e executar container interativo
docker run -it --name meu_container ubuntu /bin/bash
# Iniciar / parar / reiniciar container
docker start meu_container
docker stop meu_container
docker restart meu_container
# Remover container
docker rm meu_container
🧩 Imagens
# Listar imagens disponíveis
docker images
# Baixar imagem do Docker Hub
docker pull nginx:latest
# Remover imagem
docker rmi nginx:latest
# Criar imagem a partir de um Dockerfile
docker build -t minha_imagem:1.0 .
🧠 Acessar e inspecionar container
# Acessar bash dentro do container
docker exec -it meu_container /bin/bash
# Acessar container que usa sh
docker exec -it meu_container sh
# Executar um comando direto dentro do container
docker exec meu_container cat /etc/os-release
# Ver logs do container
docker logs -f meu_container
# Ver detalhes de configuração
docker inspect meu_container
🌐 Redes
# Listar redes existentes
docker network ls
# Criar nova rede bridge
docker network create --driver bridge minha_rede
# Conectar container a uma rede
docker network connect minha_rede meu_container
# Desconectar container de uma rede
docker network disconnect minha_rede meu_container
# Remover rede
docker network rm minha_rede
# Ver detalhes de uma rede (IPs, containers conectados)
docker network inspect minha_rede
🔄 Conectar containers entre redes
# Adicionar container a múltiplas redes
docker network connect rede1 meu_container
docker network connect rede2 meu_container
# Dentro do container, você poderá pingar serviços de ambas as redes
# (desde que o modo bridge permita comunicação)
🔍 Ver processos e recursos
# Ver processos rodando dentro de um container
docker top meu_container
# Ver uso de CPU/memória em tempo real
docker stats
# Ver todos os containers com status resumido
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
💾 Volumes e persistência
# Listar volumes
docker volume ls
# Criar volume
docker volume create meus_dados
# Montar volume ao iniciar container
docker run -v meus_dados:/var/lib/mysql mysql
# Inspecionar volume
docker volume inspect meus_dados
🧹 Limpeza e manutenção
# Remover containers parados
docker container prune
# Remover imagens não usadas
docker image prune -a
# Remover volumes não usados
docker volume prune
# Remover tudo que não está em uso
docker system prune -a
⚙️ Execução dentro de imagem (sem rodar container fixo)
# Rodar comando direto em uma imagem
docker run --rm -it ubuntu ps aux
# Rodar bash temporário em uma imagem
docker run --rm -it ubuntu bash