Execute o Docker Container em segundo plano (modo desanexado)
No Docker, um desenvolvedor de imagem pode definir padrões de imagem relacionados à execução desanexada ou em primeiro plano e outras configurações úteis. Mas, usando o comando docker run [OPTIONS], você pode adicionar ou substituir os padrões de imagem definidos por um desenvolvedor, proporcionando assim mais controle sobre como um contêiner é executado.
Leia também: ctop – Interface semelhante a Top para monitoramento de contêineres Docker
Neste artigo, explicaremos brevemente o modo de primeiro plano e o modo de segundo plano da execução de um contêiner e também mostraremos como executar um contêiner Docker > em segundo plano no modo desanexado.
Modo de primeiro plano (padrão) versus modo de segundo plano/separado
Antes de iniciar um contêiner Docker, você deve, primeiro de tudo, decidir se deseja executá-lo no modo de primeiro plano ou em segundo plano em um modo desanexado .
No modo de primeiro plano, o Docker pode iniciar o processo no contêiner e anexar o console à entrada padrão, à saída padrão e ao erro padrão do processo.
Existem também opções de linha de comando para configurá-lo melhor, como -t
para alocar um pseudo-tty ao processo e -i
para manter STDIN aberto mesmo que não esteja anexado. Você também pode anexá-lo a um ou mais descritores de arquivo (STDIN, STDOUT e/ou STDERR) usando o -a=[ valor aqui]
sinalizador.
É importante ressaltar que a opção --rm
diz ao Docker para remover automaticamente o contêiner quando ele sair. Este exemplo mostra como iniciar um contêiner Docker no modo de primeiro plano:
docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
A desvantagem de executar um contêiner em primeiro plano é que você não pode mais acessar o prompt de comando, como você pode ver na imagem acima. O que significa que você não pode executar nenhum outro comando enquanto o contêiner estiver em execução.
Para executar um contêiner Docker em background, use a opção use -d=true
ou apenas -d
. Primeiro, interrompa-o no modo de primeiro plano pressionando [Ctrl+C]
e, em seguida, execute-o em um modo desanexado, conforme mostrado:
docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
Para listar todos os contêineres, execute o seguinte comando (o padrão mostra apenas em execução).
docker ps -a
Além disso, para reconectar a um contêiner desanexado, use o comando docker attachment.
docker attach --name pandorafms
OR
docker attach 301aef99c1f3
Se você quiser parar o contêiner acima ou qualquer outro contêiner em execução, use o seguinte comando (substitua 301aef99c1f3 pelo ID real do contêiner).
docker stop 301aef99c1f3
Você também pode gostar de ler os seguintes artigos relacionados ao Docker.
- Instale o Docker e aprenda a manipulação básica de contêineres no CentOS e RHEL 7/6 – Parte 1
- Como nomear ou renomear contêineres Docker
- Como remover imagens, contêineres e volumes do Docker
É isso! Neste artigo, mostramos como executar um contêiner Docker em segundo plano no modo desanexado. Use o formulário de comentários abaixo para nos dar feedback ou fazer perguntas sobre este artigo.