ElasticsearchやMongoDBの起動が遅い場合、appコンテナの起動を遅らせて待つ
app serverに比べてMongoDBやElasticserachの起動が遅い場合に使ってください
Elasticsearchの起動が遅くて、index作成が失敗してしまう事がある
運用環境の性能や、運用方法による
そういう場合、ディレイを入れると解決します
設定例
code:docker-compose.yml
app:
image: notainc/scrapbox:latest
environment:
DELAY_APP_SERVER_STARTUP: '10000'
設定すると
「サーバーの起動を待っています」というメッセージが出るようになり
https://gyazo.com/a21863bbe5950e472cda43dcd9ce0902
ESサーバーが起動してからindexが作成される
https://gyazo.com/17dda035b96445c7622fe2e181b80fed
なおdocker-compose v3以降では
healthcheckとdepends_onのconditionを組み合わせる事で、同様の設定が可能です
オンプレ版Scrapboxのdocker-compose.ymlは既にv2.1で案内しており、v2とv3両方に対応した設定方法の説明が難しい設定内容がいくつかある
そのため、v2.1のままでElasticsearchの起動を待てるオプションとしてDELAY_APP_SERVER_STARTUPを用意しました