今日、仕事でめっちゃ詰まった
結論を先に言うと、下記のでいけた。
services:
web:
中略
- depends_on:
db:
condition: service_healty
db:
中略
healthcheck:
test: "/opt/mssql-tools/bin/sqlcmd -S tcp:localhost,1433 -U sa -P <パスワ-ド> -Q 'SELECT 1' || exit 1"
start_period: 60s
interval: 60s
timeout: 30s
retries: 5
分かれば大したことないんだけど、めっちゃ詰まった (半ギレ)。
test で指定するスクリプト、参考元が間違えてたし。
後、勝手に誤読したのが悪いんだけど、healthcheck の動作とか。
コンテナが提供しているサ-ビスが動作しているかチェックする healthcheck だけど、コンテナ起動中はず-っとチェック処理が走ります。
なのでインタ-バルとか、タイムアウトとか、リタイアとかシビアな値にしてコンテナをたくさん動かすとヘルスチェックに応答返せなくなって動作停止する。
ヘルスチェックは 1 分間隔ぐらいでいいと思う (小並感)。
後、devcontainer (半ギレ)。
コンテナに接続して開発をやる Remote Container の docker-compose.yml 上書き云々だけど、一回コンテナをビルドすると上書きされません。
当たり前なのかもしれないけどめっちゃ詰まった (´・ω・`)