Notícias
Novos modelos de linguagem da API Serverspace GPT
VB
março 28, 2023
Atualizado janeiro 31, 2025

Como manter o contêiner do Docker em execução após iniciar os serviços

Qual é o ponto problemático

O Docker executará software pré-construído no contêiner "sandboxed". Por um lado, essa abordagem nos permite fornecer idempotência absoluta, pois temos a garantia de que o software não depende do ambiente e o "comportamento" é o mesmo a qualquer momento. Por outro lado, o Docker será interrompido quando os comandos predefinidos forem executados. Exemplo: o contêiner será interrompido imediatamente após o comando echo :

docker run <image> <command>   # Run command
docker ps  # Check the running containers

pic1

Esse comportamento do Docker não é um bug, é um recurso para economizar recursos do sistema. Mas, às vezes, o contêiner deve ser executado permanentemente, por exemplo, se o software precisar aguardar conexões "de entrada".

Como "forçar" o contêiner do Docker a nunca parar

Você pode atingir seu objetivo de várias maneiras:

Lançamento de pseudo-terminal. Esse método é bom se você precisar manter o contêiner em execução de tempos em tempos. Basta executar seu comando com os sinalizadores -it :

docker run -it <image> bash   # Run command interpreter
<command>   # Run command "inside" the container
docker ps  # Check the container status

pic2

Execute qualquer comando "em um loop". Para evitar a parada do contêiner, você pode executar qualquer comando em um ciclo e, em seguida, fechar a sessão do terminal:

docker run <image> bash -c <command>

pic3

Em seguida, basta verificar o status do contêiner:

docker ps

pic4

Você pode obter o mesmo resultado se executar o docker no modo "desconectado". Basta usar a sinalização -d :

docker run <image> bash -c <command>
# Run command docker ps  # Check the running containers

pic5

Conclusão

Após a leitura deste artigo, você sabia como salvar o contêiner do docker vivo mesmo que seu cenário tenha terminado.

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 1
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.