Improve Docker healthcheck to validate schema initialization
- Check for 'users' table existence instead of just mysqladmin ping - Ensures schema.sql has executed before marking as healthy - Add 40s start_period for initial schema load - Prevents Spring Boot from connecting to uninitialized database
This commit is contained in:
@@ -15,10 +15,11 @@ services:
|
|||||||
- ./src/main/resources/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql
|
- ./src/main/resources/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql
|
||||||
- ./src/main/resources/data.sql:/docker-entrypoint-initdb.d/02-data.sql
|
- ./src/main/resources/data.sql:/docker-entrypoint-initdb.d/02-data.sql
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-proot"]
|
test: ["CMD", "mysql", "-uroot", "-proot", "-e", "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='Petstoredb' AND table_name='users';"]
|
||||||
interval: 5s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 30
|
retries: 30
|
||||||
|
start_period: 40s
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db_data:
|
db_data:
|
||||||
|
|||||||
Reference in New Issue
Block a user