Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Container não está rodando

Não consigo rodar o bash num container recém-criado. Dá uma mensagem de erro de que o container não está rodando. Mas, quando tento dar start, ele também não fica rodando. Como faço para iniciar um container e mantê-lo rodando?

~$ sudo docker run ubuntu bash
~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
224eaf27b6ce        ubuntu:latest       "bash"              41 seconds ago      Exited (0) 40 seconds ago                       cranky_engelbart    
~$ sudo docker exec -it 224eaf27b6ce bash
FATA[0000] Error response from daemon: Container 224eaf27b6ce is not running 
~$ sudo docker start cranky_engelbart
cranky_engelbart
~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
224eaf27b6ce        ubuntu:latest       "bash"              5 minutes ago       Exited (0) 7 seconds ago                       cranky_engelbart    
~$
6 respostas

Oi Alexandre,

Talvez tenha relação com o outro problema que você postou aqui:

https://cursos.alura.com.br/forum/topico-quase-todos-comandos-docker-so-funcionam-com-sudo-22028

Veja se o erro continua depois do sudo service docker start?

solução!

Oi Rodrigo,

Acredito que não tenha relação. O outro problema parece resolvido, mas este persiste. Mas notei que o problema é se eu crio o container originalmente sem interatividade (sem o -it). Daí eu não consigo mais nem startar o container nem executar outro bash nele (porque o container não está rodando). Se eu rodo (run) o container com -it e depois dou exit, consigo tanto entrar novamente nesse bash (com -ai) como executar outro bash no mesmo container.

Oi Alexande

Quando você roda sem o -it, ele não sobe o container, certo?

O sudo service docker start deveria resolver.

Mas obrigado por compartilhar a sua solução, sem dúvida ajudará outros alunos.

Não adiantou o sudo service docker start. Só funciona se eu uso -it no run ubuntu bash. Mas tudo bem. Acredito que posso seguir o curso com essa restrição. Obrigado!

Possivelmente há uma diferença entre a versão do docker do exercício com a usada.

Estou com o docker 1.12 e tenho o mesmo problema, só consigo executar um comando em um container se o mesmo estiver em execução.

Portanto, as formas corretas de executar são:

1) Criando container e executando de uma vez: docker run ubuntu echo "Olá Alura!"

2) Criando o container e executando em outro momento:

2.1) Criar

docker run ubuntu bash
root@a53ec19376bf:/# exit

2.2) Executar

docker ps -a
docker start gloomy_noether
docker exec gloomy_noether  echo "Olá Alura!"

$ docker run -it ubuntu bash $ docker ps -a $ docker start compassionate_kare $ docker exec -it compassionate_kare echo Ola Alura $ docker ps -a