DEV Community

Cover image for Manipulando containers Docker
RENATO ADORNO
RENATO ADORNO

Posted on • Updated on

Manipulando containers Docker

Neste artigo vou abordar o que eu aprendi sobre Containers Docker, de uma forma pratica.
Para utilização do Docker é necessário conhecer alguns comandos e entender de forma clara e direta para que servem, assim como alguns exemplos de uso.

Como executar um container

Para iniciar um container é necessário saber a partir de qual imagem será executado. Para listar as imagens que seu Docker host tem localmente, execute o comando abaixo:

Atenção: se a imagem não estiver em sua maquina local, o Docker irá baixar automaticamente.

docker container run <parâmetros> <imagem:tag> <CMD> <argumentos>
#ou
docker run <parâmetros> <imagem> <CMD> <argumentos>
Enter fullscreen mode Exit fullscreen mode

Os parâmetros mais utilizados na execução de containers são:

Parâmetro Explicação
-d Execução do container em background
-i Modo interativo. Mantém o STDIN aberto mesmo sem console anexado
-t Aloca uma pseudo TTY
--rm Remove automaticamente o container após finalização, pode ser chamado de modo cleanup (Não funciona com -d)
--name Nomear o container
-v Mapeamento de volume
-p Mapeamento de porta
-m Limitar o uso de memória RAM
-c Balancear o uso de CPU

Segue um exemplo simples do seguinte comando:

docker run -it --rm --name meu_python python bash
Enter fullscreen mode Exit fullscreen mode

De acordo com o comando acima, será iniciado um container com o nome meu_python, criado a partir da imagem python e o processo executado nesse container será o bash.

Vale lembrar que, caso o CMD não seja especificado no comando docker container run, é utilizado o valor padrão definido no Dockerfile da imagem utilizada. No nosso caso é python e seu comando padrão executa o binário python, ou seja, se não fosse especificado o bash, no final do comando de exemplo acima, ao invés de um shell bash do GNU/Linux, seria exibido um shell do python.

Como renomear um container

docker rename CONTAINER NEW_NAME
Enter fullscreen mode Exit fullscreen mode

Como listar containers

Esse comando é responsável por mostrar todos os containers, mesmo aqueles não mais em execução.

docker container ls <parâmetros>
#ou 
docker ps 
Enter fullscreen mode Exit fullscreen mode
Parâmetro Explicação
-a Lista todos os containers, inclusive os desligados
-l Lista os últimos containers, inclusive os desligados
-n Lista os últimos N containers, inclusive os desligados
-q Lista apenas os ids dos containers, ótimo para utilização em scripts

Gerenciar containers

Para iniciar, reiniciar, pausar, resumir e parar um container execute o comando abaixo

docker container <COMANDO> <CONTAINER ID || NAME>
#ou  
docker <COMANDO> <CONTAINER ID || NAME>
Enter fullscreen mode Exit fullscreen mode
Comandos Explicação
restart Reinicia um container
pause Pausa a execução do container
unpause Tira o container do modo pausa
stop Encerra a execução do container
rm Apaga um container
rm -f Apaga um container ativo

Como retomar o acesso a um container interativo rodando em segundo plano

Entrar no modo interativo com container ativo

docker container attach <CONTAINER ID || NAMES>
#ou  
docker attach <CONTAINER ID || NAMES>
Enter fullscreen mode Exit fullscreen mode

Para sair do modo interativo, digite exit

Para sair do container mas mante-lo em execução tecle ctrl + pq

Como apagar containers que não estão sendo utilizados

Remove todos os containers inativos do seu computador

docker container prune
Enter fullscreen mode Exit fullscreen mode

Vale ressaltar que a ideia dos containers é a de serem descartáveis. Caso você use o mesmo container por muito tempo sem descartá-lo, provavelmente está usando o Docker incorretamente. O Docker não é uma máquina, é um processo em execução. E, como todo processo, deve ser descartado para que outro possa tomar seu lugar na reinicialização do mesmo.

Como motirar os processos dentro de um container

O comando top, assim como nos terminais linux, traz as informações sobre os processos que estão sendo rodados, mas dentro do container, o que não inclui, por exemplo, serviços que são compartilhados com o sistema hospedeiro. Ele é útil para quando estamos rodando containers em segundo plano

docker container top <CONTAINER ID || NAMES>
Enter fullscreen mode Exit fullscreen mode

Dica para monitorar containers

Instale o ctop para monitorar e manipular todos os containers em sua maquina

ctop

Para utilizar basta digitar ctop em seu terminal.

Top comments (0)