等待 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中文网其他相关文章!