0
別のHTTPサービスの可用性に基づいてコンテナの起動を延期することは可能ですか?たとえば、ポート8080が実行されている場合のみコンテナを起動しますか?ドッカー作成の依存関係
別のHTTPサービスの可用性に基づいてコンテナの起動を延期することは可能ですか?たとえば、ポート8080が実行されている場合のみコンテナを起動しますか?ドッカー作成の依存関係
この種のアプリケーションレベルサービスチェックはdocker-compose
では利用できません。ドッカーのイメージに必要なロジックを実装する必要があります。あなたは、Webサービスに依存して何かを持っている場合たとえば、あなたはCMD
ような何かを実行するスクリプト実行可能性があり
:
while ! curl -sf http://servicehost:8080/; do
sleep 1
done
exec myprogram
別のオプションは、あなたのalways
の再起動ポリシーを設定することですターゲットサービスが利用できない場合、それらを失敗させることができます。 Dockerは継続して動作するまでコンテナを再起動します。
Docker 1.12は[HEALTHCHECK](https://docs.docker.com/engine/reference/builder/#/healthcheck)を紹介していますが、欠落している部分は 'docker-compose'がそれを認識してから次に始める必要がありますヘルスチェックが合格したときのサービス。あなたが確認したいかもしれない未解決の問題があります:https://github.com/docker/compose/issues/374 – huygn