Olá, Vibe Coder!
O Docker revolucionou a forma como desenvolvemos, entregamos e executamos aplicações. Entender seus comandos essenciais é crucial para qualquer desenvolvedor moderno.
Este guia rápido foi criado para você ter em mãos os comandos mais importantes do Docker, com exemplos práticos, para agilizar seu dia a dia.
🚀 Começando: Gerenciamento de Contêineres
Contêineres são a alma do Docker. Aqui estão os comandos para manipulá-los:
docker run [IMAGEM] [COMANDO]: Cria e inicia um novo contêiner a partir de uma imagem.Ex:
docker run -p 80:80 --name meu-nginx nginx(Inicia Nginx, mapeia porta 80, nomeia o contêiner).Ex:
docker run -it ubuntu bash(Inicia Ubuntu interativo com bash).
docker ps [-a]: Lista os contêineres em execução. Use-apara listar todos (em execução e parados).Ex:
docker ps
docker start [ID_OU_NOME]: Inicia um contêiner parado.docker stop [ID_OU_NOME]: Para um contêiner em execução.docker restart [ID_OU_NOME]: Reinicia um contêiner.docker rm [ID_OU_NOME]: Remove um contêiner parado. Use-fpara forçar a remoção de um contêiner em execução.Ex:
docker rm meu-nginx
docker exec -it [ID_OU_NOME] [COMANDO]: Executa um comando dentro de um contêiner em execução.Ex:
docker exec -it meu-nginx bash(Abre um shell bash dentro do contêiner Nginx).
docker logs [ID_OU_NOME]: Exibe os logs de um contêiner. Use-fpara seguir os logs em tempo real.Ex:
docker logs -f meu-nginx
📦 Gerenciamento de Imagens
Imagens são os "blueprints" dos contêineres.
docker pull [IMAGEM[:TAG]]: Baixa uma imagem de um registro (Docker Hub por padrão).Ex:
docker pull ubuntu:latest
docker build -t [NOME_IMAGEM[:TAG]] .: Constrói uma imagem a partir de um Dockerfile. O.indica o contexto de construção.Ex:
docker build -t minha-app-web:v1.0 .
docker images: Lista todas as imagens baixadas ou construídas localmente.docker rmi [ID_IMAGEM_OU_NOME[:TAG]]: Remove uma imagem.Ex:
docker rmi ubuntu:latest
💾 Volumes e 🌐 Redes (O Básico)
Para persistência de dados e comunicação entre contêineres.
Volumes:
docker volume create [NOME]: Cria um volume nomeado.docker volume ls: Lista os volumes.docker volume rm [NOME]: Remove um volume.
Redes:
docker network create [NOME]: Cria uma rede personalizada.docker network ls: Lista as redes.docker network rm [NOME]: Remove uma rede.Conecte um contêiner a uma rede:
docker run --network [NOME_REDE] ...
🔗 Orquestração Simplificada com Docker Compose
Para gerenciar aplicações multicontêiner com um único comando.
Certifique-se de ter um arquivo
docker-compose.yml.docker-compose up [-d]: Constrói, (re)cria, anexa e inicia os serviços em um arquivodocker-compose.yml. Use-dpara rodar em modo detached (em segundo plano).docker-compose down: Para e remove os contêineres, redes, volumes e imagens criados porup.
💡 Dica Extra: Limpeza
Seu Docker pode acumular muita coisa. Limpe periodicamente:
docker system prune -a: Remove todos os contêineres parados, redes não utilizadas, imagens sem tag e o cache de build. Use com cautela!
Esperamos que este guia seja um atalho valioso em sua jornada com Docker. Mantenha-o por perto!
Até a próxima, Vibe Coder!