Unter Verwendung der Anweisungen für den automatischen Docker-Start auf Linode VPS mit Ubuntu 12.04 und Docker 0.8.1 wird der angegebene Container beim Neustart nicht gestartet.
Nach dem Booten kann ich
~$ sudo start [service-name]
und alles läuft wie geplant, aber ich möchte auch den Container nach einem Neustart neu starten.
Ist das Skript im Tutorial nicht dafür ausgelegt, Neustarts zu handhaben?
Die Datei /etc/default/docker enthält eine Zeile:
DOCKER_OPTS="-r=false"
/etc/init/service-name.conf stammt direkt von der Docker-Seite:
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
Akzeptierte Antwort:
Irgendwann in den letzten Monaten wurde das Upstart-Skript im Tutorial geändert, um die Schleife zu entfernen, um auf den Start von Docker zu warten. Ich habe die Schleife aus meinen Upstart-Skripten entfernt und meine Container starten jetzt nach einem Neustart korrekt neu.
Mein /etc/init/service-name.conf-Skript sieht jetzt so aus:
description "service description"
author "me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
/usr/bin/docker start -a db5e61a9afa8
end script
Ich bin mir nicht sicher, was mit dieser Schleife nicht stimmte.
Vielleicht zeigte sie auf die falsche Datei auf meinem System, obwohl ich keine Änderungen an der standardmäßigen Docker-Installation vorgenommen habe.
Im Moment habe ich Ich bin nur froh, dass die Lösung das Entfernen des Codes anstelle einer komplizierten Problemumgehung beinhaltete.