我一直在使用docker映像设置Jenkins管道。现在,我需要运行各种服务,例如MySQL,Redis,Memcache,Beanstalkd和Elasticsearch。为了等到MySQL准备就绪,我正在使用以下命令:
sh "while ! mysqladmin ping -u root -h mysqlhost ; do sleep 1; done"
sh 'echo MySQL server is up and running'
mysqlhost
是我为容器提供的主机名。同样,我需要检查并等待Redis, Memcached, Beanstalkd and Elasticsearch
。但是对MySQL
所做的操作无法对这些服务执行ping操作。我该如何实现呢?
答案 0 :(得分:1)
Docker docs提到了此脚本来管理容器准备情况检查:https://github.com/vishnubob/wait-for-it
我还使用了与Alpine兼容的产品: https://github.com/eficode/wait-for
答案 1 :(得分:0)
您可以对此服务进行卷曲,以检查它们是否还活着。 对于redis,您还可以执行https://redis.io/commands/ping