O Docker e o Docker Compose são ferramentas fundamentais na modernização do desenvolvimento e implantação de aplicações. Eles oferecem uma maneira eficiente e padronizada de empacotar aplicações e suas dependências em contêineres leves e portáteis.

  • Docker: É uma plataforma que permite a criação, execução e gerenciamento de contêineres. Um contêiner é uma unidade de software empacotada com tudo o que é necessário para rodar um código (bibliotecas, runtime, configurações do sistema, etc.), garantindo que a aplicação rode de forma consistente em qualquer ambiente.

  • Docker Compose: É uma ferramenta para definir e rodar aplicações multi-contêiner Docker. Usando um arquivo de configuração YAML (docker-compose.yml), você pode configurar todos os serviços de uma aplicação (como frontend, backend e banco de dados) e gerenciá-los com um único comando.


🛠️ Comandos Docker Úteis Link para o cabeçalho

Estes são comandos essenciais para o gerenciamento de imagens e contêineres individuais:

1. Informação e Instalação Link para o cabeçalho

Comando Descrição
docker --version Verifica a versão do Docker instalada.
docker info Mostra informações detalhadas sobre o ambiente Docker.
docker pull <imagem> Baixa uma imagem de um registro (como o Docker Hub).

2. Contêineres Link para o cabeçalho

Comando Descrição
docker run -d -p <porta_host>:<porta_cont> --name <nome> <imagem> Cria e inicia um novo contêiner a partir de uma imagem, em modo detached (-d), mapeando portas (-p) e definindo um nome.
docker ps Lista os contêineres em execução.
docker ps -a Lista todos os contêineres (em execução e parados).
docker start <nome/id> Inicia um contêiner previamente criado e parado.
docker stop <nome/id> Para a execução de um contêiner.
docker restart <nome/id> Reinicia um contêiner.
docker rm <nome/id> Remove um contêiner parado.
docker logs <nome/id> Visualiza os logs de um contêiner.
docker exec -it <nome/id> <comando> Executa um comando dentro de um contêiner em execução (ex: docker exec -it meu_app bash).
docker container prune Remove todos os contêineres parados.

3. Imagens Link para o cabeçalho

Comando Descrição
docker images Lista todas as imagens Docker disponíveis localmente.
docker build -t <nome>:<tag> . Constrói uma imagem a partir de um Dockerfile no diretório atual.
docker rmi <nome/id> Remove uma imagem local.
docker image prune -a Remove todas as imagens não utilizadas por contêineres existentes.
docker push <nome/id> Envia uma imagem para um registro remoto.

4. Limpeza Geral Link para o cabeçalho

Comando Descrição
docker system prune Remove contêineres parados, redes não utilizadas, imagens dangling (sem tag) e o cache de build. Use com cautela!

🏗️ Comandos Docker Compose Link para o cabeçalho

Estes comandos operam sobre a aplicação completa, conforme definida no arquivo docker-compose.yml (ou docker compose, em instalações mais recentes):

Comando Descrição
docker-compose up Constrói, (re)cria, inicia e anexa aos logs de todos os serviços. É o comando principal para iniciar a aplicação.
docker-compose up -d Inicia os serviços em modo detached (background).
docker-compose build Constrói ou reconstrói as imagens dos serviços que possuem a instrução build no docker-compose.yml.
docker-compose ps Lista os serviços definidos no Compose e seus status.
docker-compose stop Para os contêineres, mas não os remove.
docker-compose start Inicia os contêineres parados (após stop).
docker-compose down Para e remove contêineres, redes e, opcionalmente, volumes e imagens criados pelo up.
docker-compose logs -f Exibe e acompanha (-f de follow) os logs de todos os serviços.
docker-compose exec <serviço> <comando> Executa um comando dentro de um contêiner de serviço (ex: docker-compose exec web bash).
docker-compose restart Reinicia todos os serviços.
docker-compose scale <serviço>=<número> Permite escalar o número de instâncias de um serviço.