Docker-Compose:验证 MySQL 连接准备情况
在 Docker Compose 环境中,必须确保您的应用程序容器不会启动操作直到数据库容器完全可操作并准备好接受连接。这就是 dependent_on 和 healthcheck 功能发挥作用的地方。
在您的配置中,应用程序容器依赖于 db 容器,该容器是使用 healthcheck 定义的,以确定何时可以使用。然而,您帖子中提到的健康检查测试(创建目录、检查版本或 ping 管理员)都不是数据库就绪情况的可靠指标。
更有效的健康检查包括使用 mysqladmin 工具来测试是否MySQL 正在接受连接:
healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 20s retries: 10
通过此健康检查,应用程序容器将等待数据库容器通过此测试,确保数据库在之前完全可操作进行中。
以上是如何在 Docker Compose 环境中可靠地验证 MySQL 数据库准备情况?的详细内容。更多信息请关注PHP中文网其他相关文章!