Ubuntu12.04およびDocker0.8.1を実行しているLinodeVPSでDocker自動起動の手順を使用すると、指定されたコンテナーは再起動時に起動しません。
起動すると、次のことができるようになります
~$ sudo start [service-name]
すべてが計画どおりに進みますが、再起動後にコンテナを再起動することもできます。
チュートリアルのスクリプトは、再起動を処理するように設計されていませんか?
/ etc / default / dockerファイルには次の1行が含まれています:
DOCKER_OPTS="-r=false"
/etc/init/service-name.confはdockerページから直接取得します:
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
承認された回答:
過去2か月のある時点で、チュートリアルのupstartスクリプトが変更され、Dockerの起動を待機するループが削除されました。 upstartスクリプトからループを削除すると、再起動後にコンテナが正しく再起動するようになりました。
/etc/init/service-name.confスクリプトは次のようになります:
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
そのループの何が問題だったのかわかりません。
デフォルトのDockerインストールに変更を加えていませんが、システム上の間違ったファイルを指している可能性があります。
今のところ、複雑な回避策ではなく、コードの削除が修正に含まれていることを嬉しく思います。