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>
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
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
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 
| 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>
| 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>
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
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>
Dica para monitorar containers
Instale o ctop para monitorar e manipular todos os containers em sua maquina
Para utilizar basta digitar ctop em seu terminal.
 
 
              

 
    
Top comments (0)