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. |