Usando as instruções para o Docker iniciar automaticamente no Linode VPS executando o Ubuntu 12.04 e o Docker 0.8.1, o contêiner especificado não inicia na reinicialização.
Depois de inicializado, posso
~$ sudo start [service-name]
e tudo corre conforme o planejado, mas eu também gostaria de contêiner para reiniciar após uma reinicialização.
O script no tutorial não foi projetado para lidar com reinicializações?
O arquivo / etc / default / docker contém uma linha:
DOCKER_OPTS="-r=false"
O /etc/init/service-name.conf é direto da página da janela de encaixe:
description "service description"
author "me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
# Wait for docker to finish starting up first.
FILE=/var/run/docker.sock
while [ ! -e $FILE ] ; do
inotifywait -t 2 -e create $(dirname $FILE)
done
/usr/bin/docker start -a db5e61a9afa8
end script
/etc/default/docker
?Respostas:
Em algum momento nos últimos dois meses, o script inicial no tutorial foi alterado para remover o loop e aguardar o início do docker. Eu removi o loop dos meus scripts iniciantes e meus contêineres agora são reiniciados corretamente após uma reinicialização.
Meu script /etc/init/service-name.conf agora se parece com isso:
Não tenho certeza do que havia de errado com esse loop. Talvez estivesse apontando para o arquivo errado no meu sistema, embora eu não tenha feito alterações na instalação padrão do docker. Por enquanto, estou feliz por a correção envolver a remoção do código, em vez de uma solução alternativa complicada.
fonte
stop service-name
. Estou enfrentando esse problema :(Para quem usa o ubuntu 14.04 apt-get sabor do docker. Você só precisa alterar o script de inicialização para esperar no "docker.io" e não no "docker" da seguinte forma:
fonte
Estou usando o Ubuntu 13.10 como host e tive o mesmo problema. Descobri que o docker instala um script rc para o docker no
/etc/init.d/docker
e, ao mesmo tempo, instala um script inicial em /etc/init/docker.conf. Eu apenas tive que remover o script rc/etc/init.d/docker
para que esse problema desaparecesse.Espero que isso funcione para você também.
fonte
Isso significa: Não reinicie os contêineres em execução anteriormente.
Remova a
-r
opção ou altere-a para true.fonte
/var/run/docker.sock
é um soquete, então você precisa usá-lo-S
ao testar a existência:fonte