2017-06-18 93 views
1

我有一个docker设置为nightwatch.js通过selenium网格运行selenium测试,用于快速服务器应用程序。当我刚刚使用docker-compose up,然后在服务器启动后手动运行我的nightwatch测试时,所有内容似乎都正常启动。如果我将它们作为容器命令的一部分运行(即在我的应用服务器容器命令或基于它的新容器中运行nightwatch),那么我得到503错误的网关错误。我认为在我的码头设置中有一个竞争条件导致了这一点。有没有办法保证我的应用程序服务器在运行我的夜间测试之前正常启动?守夜持续给502坏的网关

回答

2

前缀与wait-for-it.sh脚本(下载它,并把图像中)你的命令:

command: /wait-for-it.sh theotherservice:PORT -- your-previous-command 

wait-for-it.sh将等待到指定的服务器:端口执行是--之后的命令,这样就可以避免竞赛状况。