验证 Docker 容器中的 MySQL 就绪情况
部署多个 Docker 容器时,在继续其他任务之前确定服务的可用性至关重要。 MySQL 容器由于其初始化脚本而对计时问题特别敏感。如果脚本在数据库完全准备好之前尝试访问数据库,则可能会导致错误。
为了解决这一挑战,使用 Bash sleep 的另一种方法是利用 mysqladmin 实用程序,该实用程序包含在 mysql-client 包中。通过将 mysqladmin 与等待循环相结合,您可以可靠地检查 MySQL 的就绪情况。
以下是实现它的方法:
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
在此脚本中,ping 命令尝试建立与如果服务尚不可用,MySQL 会返回非零状态。 --silent 选项抑制输出,使其成为重复检查的理想选择。
通过合并此等待循环,您可以确保后续脚本仅在 MySQL 完全启动并准备好接受查询时执行,从而消除潜在的错误并改进您的部署工作流程。
以上是如何确保 Docker 容器中的 MySQL 就绪?的详细内容。更多信息请关注PHP中文网其他相关文章!