DEV Community

Celso Nery
Celso Nery

Posted on

Parte 2: Comandos Essenciais da CLI

🇺🇸 English version here

Docker para Desenvolvedores — Parte 2: Comandos Essenciais da CLI

Na Parte 1 desta série, instalamos o Docker no Debian e rodamos nosso primeiro container. Agora vamos conhecer os comandos que você vai usar no dia a dia para gerenciar containers: rodar, listar, entrar, parar, remover, acompanhar logs e monitorar recursos.

Rodando um container

O comando mais básico é o docker run, que cria e inicia um container a partir de uma imagem pronta:

$ docker run --rm -p 8080:80 httpd
Enter fullscreen mode Exit fullscreen mode

Onde:

  • --rm: remove o container automaticamente assim que ele parar (útil para testes, evitando acumular containers parados);
  • -p 8080:80: mapeia a porta 8080 do host(sua máquina) para a porta 80 do container.

Rodando esse comando, o terminal fica "preso" mostrando os logs do container em primeiro plano. Para liberar o terminal e rodar em segundo plano, use a flag -d (daemon):

$ docker run --rm -d -p 8080:80 httpd
Enter fullscreen mode Exit fullscreen mode

Listando containers

Para ver os containers que estão em execução no momento:

$ docker ps
Enter fullscreen mode Exit fullscreen mode

Para ver todos os containers, incluindo os que já pararam, use a flag -a:

$ docker ps -a
Enter fullscreen mode Exit fullscreen mode

Isso é útil para identificar containers parados que talvez não tenham sido removidos (por não terem usado a flag --rm).

Entrando em um container

Para entrar interativamente em um container já em execução "abrindo um shell":

$ docker exec -it <nome ou ID do container> bash
Enter fullscreen mode Exit fullscreen mode

Se a imagem for baseada em Alpine (como muitas imagens leves de produção), ela geralmente não tem bash instalado — use ash no lugar:

$ docker exec -it <nome ou ID do container> ash
  • Agora veja que está dentro do container, pode verificar cat /etc/os-release ou env.

Também é possível executar um comando específico sem precisar abrir uma sessão interativa — por exemplo, para conferir uma variável de ambiente:

$ docker exec -it <nome ou ID do container> env
Enter fullscreen mode Exit fullscreen mode
  • Desta forma você não precisará entrar no container.

Parando e removendo containers

Para parar um container em execução:

$ docker stop <nome ou ID do container>
Enter fullscreen mode Exit fullscreen mode

Parar não remove o container — ele continua existindo (parado), até que você remova explicitamente ou tenha usado --rm na criação.

Para remover manualmente:

$ docker rm <nome ou ID do container>
Enter fullscreen mode Exit fullscreen mode

Acompanhando logs

Containers normalmente escrevem seus logs em stdout/stderr, e o Docker captura isso automaticamente. Para visualizar (e acompanhar em tempo real, como um tail -f):

$ docker logs -f <nome ou ID do container>
Enter fullscreen mode Exit fullscreen mode

Sem a flag -f, o comando apenas imprime os logs existentes até o momento, sem continuar acompanhando.

Monitorando recursos

Para ver, em tempo real, o consumo de CPU, memória, I/O de disco e rede de todos os containers em execução:

$ docker stats
Enter fullscreen mode Exit fullscreen mode

Esse comando é útil para identificar rapidamente containers consumindo recursos excessivos, sem precisar recorrer a ferramentas externas de monitoramento.

Próximos passos

Com os comandos essenciais da CLI em mãos, já é possível operar containers no dia a dia com confiança. Mas até aqui, os dados dentro dos containers são efêmeros — se o container for removido, os dados vão junto. Na Parte 3 desta série, vamos resolver isso com volumes, garantindo persistência de dados entre execuções.

Continua na Parte 3.

Top comments (0)