9
Docker-compose检查mysql连接是否准备就绪
我试图确保我的应用容器在数据库容器启动并且准备接受连接之前不运行迁移/启动。 所以我决定使用运行状况检查,并取决于docker compose文件v2中的选项。 在应用程序中,我有以下内容 app: ... depends_on: db: condition: service_healthy 另一方面,数据库具有以下运行状况检查 db: ... healthcheck: test: TEST_GOES_HERE timeout: 20s retries: 10 我尝试了几种方法,例如: 确保已创建数据库DIR test: ["CMD", "test -f var/lib/mysql/db"] 获取mysql版本: test: ["CMD", "echo 'SELECT version();'| mysql"] 对管理员执行ping操作(将db容器标记为运行状况良好,但似乎不是有效的测试) test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] 有人对此有解决方案吗?