sql >> データベース >  >> RDS >> PostgreSQL

Docker-composeは、依存サービスが完全に開始されなくなるまで待機しないことに依存します

    はい。

    まず、depends-onことを理解してください ほとんど完全に役に立たないです。 Dockerはアプリケーションについて何も知りません。データベースサーバーが実際にリクエストを処理する準備ができていないことを知る方法はありません。

    正しい解決策は、(a)準備ができるまで最初のデータベース接続を再試行し、(b)接続が失敗した場合にデータベースに再接続するように、アプリケーションをコーディングすることです。 (a)質問している問題を解決し、(b)アプリケーションコンテナから独立してデータベースコンテナを再起動できるようにします。

    アプリケーションコンテナ内のコードを制御しない場合は、次のようなシェルスクリプトでメインコマンドをラップできます。

    while ! psql -c 'select 1'; do
      sleep 1
    done
    

    (適切な認証オプションを設定するか、.pgpassを設定します ファイル)




    1. SQLはプロジェクトで機能しなかった名前を取得します

    2. 要素の順序を無視して、配列が等しいかどうかを比較します

    3. 複数のテーブルの一意のID[MySQL]

    4. phpとmySQLを使用して簡単なサイト検索を実装するにはどうすればよいですか?