O Docker é gerenciado via upstart, tente usar a janela de encaixe de serviço

1

Estou usando o seguinte sistema:

root@alexus:~# cat /etc/issue.net 
Ubuntu 14.04.3 LTS
root@alexus:~# uname -a
Linux alexus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
root@alexus:~# 

Eu programei um cron job para verificar se docker service IS está sendo executado e, caso isso não ocorra, inicie:

root@alexus:~# crontab -l | grep 'service docker'
*/5 * * * * service docker status | grep -q 'docker\ start\/running\,\ process\ .*' ; if [ $? != 0 ] ; then service docker start ; fi
root@alexus:~# 

ainda a mensagem que recebo de cron é a seguinte:

  
  • O Docker é gerenciado via upstart, tente usar a janela de serviço
  •   

e, novamente, se eu o executei diretamente no shell, não receberei nenhuma saída:

root@alexus:~# service docker status | grep -q 'docker\ start\/running\,\ process\ .*' ; if [ $? != 0 ] ; then service docker start ; fi
root@alexus:~# 

Por que estou recebendo essa mensagem via cron, mas sempre que eu corri diretamente no shell eu não entendo nada? estou fazendo errado? Qual é a maneira correta de conseguir isso?

    
por alexus 09.10.2015 / 18:22

1 resposta

3

Devido ao atual Docker 1.9.1 + bug do kernel Linux 18180 que está enterrado no kernel do Linux bug relacionado ao AUFS, eu estava procurando mover minha instalação do Ubuntu 14.04 do Docker 1.9.1 para o Docker 1.8.3, mas também ter o auto-start na inicialização como o instalador do apt teria feito ...

Então, eu peguei o binário do Docker 1.8.3 de https://get.docker.com/builds/Linux/x86_64/docker-1.8.3 , depois mudei para /usr/bin/docker , dei sudo chmod +x /usr/bin/docker de permissões executáveis.

Depois, peguei o script sysvinit-debian/docker bruto, e também comentou o check_init() body (estava me dando sofrimento desnecessário) e o substituiu por simplesmente "echo 'Skipping check_init()" e depois o soltou em /etc/init.d . Em seguida, configurei esse script para ser executado na inicialização de inicialização como root com ln -s /etc/init.d/docker /etc/rc2.d/S99docker e executei sudo reboot . Depois disso, estou de volta executando o serviço Docker (1.8.3) na inicialização, a partir de uma instalação binária bruta:

$ service docker status
 * Docker is running

Parece tudo de bom aqui. Posso executar $ docker run -it hello-world corretamente agora também e continuar em movimento até que 18180 seja corrigido.

    
por Mike Atlas 04.01.2016 / 19:50