docker-compose でMySQLコンテナが待ち受け状態になってからアプリのコンテナを起動する
参考
結論
ファイル docker-compose を以下のようにする。
version: '3'
services:
web:
...(略)...
depends_on:
db:
condition: service_healthy
db:
...(略)...
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uuser_name", "-puser_password"]
timeout: 20s // タイムアウトの時間設定
retries: 10 // リトライ回数
depends_on に -db を指定するだけで大丈夫かと思っていましたが、これは起動の順番を指定しているだけで、コンテナが待ち受けの状態になるまでは待ってくれないようです。
ディスカッション
コメント一覧
まだ、コメントがありません