docker-compose.yamlでのMariaDBとアプリの起動待ち方法

ヘルスチェック

Posted by めろん on 2024/10/06 15:20

【PR】本記事はアフィリエイト広告を利用しています。

起動順番

cute docker girl wait for database girl

docker-compose.yamlで少しはまったこと、その2。

何もしないと、アプリの方が先に起動してしまいデータベースに接続できずにアプリの方がエラーが
発生するといったことがあります。

本来はcomposeでDBのコンテナが起動し完全にスタンバイOKになった段階でアプリコンテナを起動
させてスムーズに実行したいということです。

ネットを探すと色々ありましたが私としてはどうしても標準の方法(Dockerが用意しているであろう
コンテナ連携させる方法)で実現したかったのでそちらを探していました。

これも種を明かせば簡単でした。

連携方法


これもmariadbの公式サイトみて気が付きました。
アプリコンテナのところでdepends_onを定義し、依存関係を定義していきます。
今回はデータベースのみなので、データベースのコンテナ名を指定した上で状態がどうなれば起動させるのかを指定します。

ここでは、サービスがヘルシーと判断された場合にアプリコンテナを起動するということになりました。

ヘルスチェックは以上の通りです。
余談ですがネットに落ちてる情報も間違ったものがあってヘルスチェックの方法です。

MariaDBでは上記図の通りでございます。
公式ページに記載されていました。

以上です。