首页  >  文章  >  数据库  >  如何在继续操作之前可靠地确保 MySQL 容器已准备就绪?

如何在继续操作之前可靠地确保 MySQL 容器已准备就绪?

Barbara Streisand
Barbara Streisand原创
2024-11-17 10:04:03636浏览

How to Reliably Ensure a MySQL Container is Ready Before Proceeding?

等待 MySQL 容器初始化

Docker 容器为运行应用程序提供了一个隔离的环境。在部署多个容器时,常常需要协调它们的依赖关系。在这种情况下,必须等待 MySQL 容器的数据库准备好才能继续其他任务。

之前的尝试涉及运行脚本来等待 MySQL 准备好,但这种方法不可靠,因为使用入口点设置脚本来达到竞争条件。为了寻求更强大的解决方案,用户考虑了 bash sleep 命令,但认识到它的局限性。

更优雅和有效的方法是使用 mysql-client 包中的 mysqladmin 实用程序。该实用程序可以 ping 目标服务器以确定它是否正在响应。通过将 mysqladmin ping 与睡眠循环相结合,可以实现一种简单的等待机制:

while ! mysqladmin ping -h"$DB_HOST" --silent; do
    sleep 1
done

此循环将重复 ping MySQL 容器,直到它响应,确保数据库在继续其他任务之前准备就绪。

以上是如何在继续操作之前可靠地确保 MySQL 容器已准备就绪?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn