我有一个用于nightwatch.js的docker设置,通过selenium网格为快速服务器应用程序运行selenium测试。当我只使用docker-compose up然后在服务器启动后手动运行我的nightwatch测试时,一切似乎都正常启动。如果我将它们作为容器命令的一部分运行(即在我的app server containers命令中或基于它的新容器中运行nightwatch),那么我得到503错误的网关错误。我认为我的码头设置中存在竞争条件导致此问题。在运行我的夜班测试之前,有没有办法保证我的应用服务器正常启动?
答案 0 :(得分:2)
使用wait-for-it.sh脚本添加命令(下载并输入图像):
command: /wait-for-it.sh theotherservice:PORT -- your-previous-command
wait-for-it.sh
将等待指定的server:port执行--
之后的命令,这样就可以避免竞争条件。