在Docker容器中运行Xvfb和黄瓜

我想在docker集装箱里用电子应用程序进行一些黄瓜testing。 我在一个点,我可以手动运行一个容器,运行xvfb ,然后cucumber ,一切正常。 我面临的困难是达到一个点,我可以运行docker-compose up -d并自动发生所有这一切

看文档在一个容器中运行多个进程它看起来好像有两个选项,bash脚本或supervisord ,我试图bash脚本路由,因为它是一个较轻的选项(图像的大小)比使用supervisord

Bash脚本

 File: xvfb_run.sh #!/bin/bash Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & File: start_cucumber.sh #!/bin/bash cucumber features/shared/av-play-event/av_play_event.feature:7 File: process_wrapper.sh #!/bin/bash echo "Start Xvfb" ./xvfb_run.sh -D status=$? if [ $status -ne 0 ]; then echo "Failed to start Xvfb Process: $status" exit $status fi echo "Start Cucumber" ./start_cucumber.sh -D status=$? if [ $status -ne 0 ]; then echo "Failed to start cucumber process: $status" exit $status fi 

泊坞窗,撰写

 version: "3.0" services: hendricks-js-offline: build: context: . ports: - "9515:9515" tty: true 

Dockerfile

 ADD xvfb_run.sh /xvfb_run.sh ADD process_wrapper.sh /process_wrapper.sh ADD start_cucumber.sh /start_cucumber.sh CMD ["/bin/bash", "-c", "-l", "./process_wrapper.sh"] 

当我运行docker-compose up -d并检查我得到的日志

 hendricks-js-offline_1 | Start Xvfb hendricks-js-offline_1 | Start Cucumber hendricks-js-offline_1 | Using the default profile... hendricks-js-offline_1 | @test hendricks-js-offline_1 | Feature: Basic Test hendricks-js-offline_1 | hendricks-js-offline_1 | Background: # features/shared/test/test.feature:4 hendricks-js-offline_1 | Failed to open TCP connection to '':80 (getaddrinfo: Name or service not known) (SocketError) hendricks-js-offline_1 | ./features/support/env.rb:51:in `Before' 

任何人都可以看到我去哪里错了或能够回答为什么这个手动工作,但不是这个设置

任何帮助赞赏

谢谢