Pomocí pokynů pro automatické spuštění Dockeru na Linode VPS se systémem Ubuntu 12.04 a Docker 0.8.1 se zadaný kontejner při restartu nespustí.
Po zavedení jsem schopen
~$ sudo start [service-name]
a vše jde podle plánu, ale také bych chtěl kontejner restartovat po restartu.
Není skript ve výukovém programu navržen tak, aby zvládl restarty?
/etc/default/docker obsahuje jeden řádek:
DOCKER_OPTS="-r=false"
/etc/init/service-name.conf je přímo ze stránky dockeru:
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
Přijatá odpověď:
V určitém okamžiku během posledních několika měsíců byl počáteční skript ve výukovém programu změněn, aby se odstranila smyčka a čekalo se na spuštění dockeru. Odstranil jsem smyčku ze svých počátečních skriptů a mé kontejnery se nyní po restartu správně restartují.
Můj skript /etc/init/service-name.conf nyní vypadá takto:
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
Nejsem si jistý, co bylo s tou smyčkou špatně.
Možná to ukazovalo na nesprávný soubor v mém systému, i když jsem ve výchozí instalaci dockeru neprovedl žádné změny.
Prozatím Jsem rád, že oprava zahrnovala odstranění kódu namísto nějakého složitého obcházení.