ANÚNCIO

~/questoes/devops

Qual comando inicia um container já existente que foi parado?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Para fixar

Iniciando um Container Parado com Docker

Conceito central

Quando você para um container com docker stop, ele não é deletado — apenas fica inativo. Para retomar sua execução, você usa docker start, que é diferente de docker run, que cria um novo container do zero.

Por que essa resposta faz sentido

O comando docker start recebe o ID ou nome de um container que já existe e apenas o inicia novamente. É perfeito quando você quer reuses um container que foi parado, mantendo seus dados e configurações intactas.

Armadilhas comuns

  • Confundir docker start com docker run — lembre-se que run sempre cria novo, start apenas reinicia o existente
  • Pensar que docker exec serve para iniciar containers parados — exec funciona apenas em containers que já estão rodando
  • Não entender a diferença entre parar (stop) e deletar (rm) um container — com start você consegue trazer de volta um parado, mas não um deletado

Entenda as alternativas

A

docker exec -it é usado para executar um comando dentro de um container que JÁ está rodando. Não inicia containers parados, apenas executa processos dentro deles.

B

docker start é exatamente o comando para iniciar um container existente que foi parado. Você passa o ID ou nome do container e ele volta ao estado ativo.

C

docker create apenas cria um novo container baseado em uma imagem, mas não o inicia. Também é para containers novos, não para containers parados que já existem.

D

docker run cria E executa um novo container em uma única operação. Se você usar isso em um container parado, você estará criando um novo container, não reiniciando o antigo.

Dica prática: Na prática, use docker ps -a para ver todos os containers (inclusive os parados). Copie o ID ou nome do container parado e execute docker start [id_ou_nome]. Use docker ps (sem -a) para confirmar que agora está rodando.

Revise pensando: Qual é a diferença fundamental entre docker start e docker run quando você precisa de um container que já tinha antes?