Trabalhando com Containers no Docker
Para este artigo, iremos criar um novo container chamado meu-nginx para servir de exemplo e pegando a imagem atual do nginx como referência.
1. Criando um Container
docker container create --name meu-nginx nginx:latest
Note que o container foi criado mas não iniciado.
2. Modificando o Entrypoint
Para alterar o entrypoint da imagem (ponto de entrada do container), utilize:
docker container run --entrypoint /bin/bash nginx:latest
3. Executando um Container em Segundo Plano
Para utilizar um container, sem a necessidade do terminal ficar travado, utilize:
docker container run -d meu-nginx
A flag
-d
significa detached mode
4. Autoremover um Container
Para que um container seja automaticamente removido após a sua execução (útil para testes rápidos), utilize:
docker container run --rm meu-nginx
5. Nomeando um Container
Você pode dar um nome ao container para facilidar seu gerenciamento:
docker container run --name <nome-do-container> nginx:latest
6. Iniciando um Container
Existem três formas de iniciar um container criado:
Pelo nome:
docker container start meu-nginx
Pelo ID abreviado (12 caracteres):
docker container start <ID_12>
Pelo ID completo:
docker container start <ID_COMPLETO>
Para descobrir o ID do container, utilize
docker container ls -a
7. Parando um Container
Para parar um container em execução:
docker container stop meu-nginx
Outra opção é o comando kill, que força o encerramento imediado:
docker container kill meu-nginx
Diferenças entre Stop e Kill:
-
stop:
envia um sinal de término (sigterm), permitindo que o processo finalize de formagraciosa
(código de saída0
) -
kill:
engia um sinal de interrupção imediada (sigkill), encerrando o processoforçadamente
(código de saída173
)
8. Pausar um Container
Para pausar a execução de todos os processos do container:
docker container pause meu-nginx
9. Retomar um Container Pausado
Para retomar a execução do mesmo container:
docker container unpause meu-nginx
10. Remover um Container
Para remover um container que não é mais necessário:
docker container rm meu-nginx
11. Reiniciando um Container
Neste exemplo, sugiro que tenha dois terminais abertos no mesmo diretório. No primeiro terminal você pode iniciar um novo container apenas para teste:
docker container run --name nginx-teste nginx:latest
Já no segundo terminal, podemos reiniciar o container de teste:
docker container restart nginx-teste
Note que após o comando de restart no segundo terminal, o container foi parado e iniciado automaticamente no primeiro terminal.
12. Renomeando um Container
Para alterar o nome de um container existente:
docker container renamde <nome-atual> <novo-nome>
13. Comando Wait
Para obter o código de saída de um container após ele ser finalizado:
docker container wait meu-nginx
Se o container foi finalizado com sucesso, o código de saída será
0
. Outros códigos indicam diferentes tipos de falhas.
Top comments (2)
Topissimo
Muito bom amigo!