2016-07-28 9 views
0

別のHTTPサービスの可用性に基づいてコンテナの起動を延期することは可能ですか?たとえば、ポート8080が実行されている場合のみコンテナを起動しますか?ドッカー作成の依存関係

+0

Docker 1.12は[HEALTHCHECK](https://docs.docker.com/engine/reference/builder/#/healthcheck)を紹介していますが、欠落している部分は 'docker-compose'がそれを認識してから次に始める必要がありますヘルスチェックが合格したときのサービス。あなたが確認したいかもしれない未解決の問題があります:https://github.com/docker/compose/issues/374 – huygn

答えて

1

この種のアプリケーションレベルサービスチェックはdocker-composeでは利用できません。ドッカーのイメージに必要なロジックを実装する必要があります。あなたは、Webサービスに依存して何かを持っている場合たとえば、あなたはCMDような何かを実行するスクリプト実行可能性があり

while ! curl -sf http://servicehost:8080/; do 
    sleep 1 
done 

exec myprogram 

別のオプションは、あなたのalwaysの再起動ポリシーを設定することですターゲットサービスが利用できない場合、それらを失敗させることができます。 Dockerは継続して動作するまでコンテナを再起動します。