Docker 命令将不起作用,除非我打开交互式 bash 终端



我正在使用Docker使用NightWatch.js

运行自动浏览器测试

当我打开一个交互式终端时,它可以正常工作,例如

docker run -it --rm username/image-name /bin/bash

给我一个bash提示,我运行:

xvfb-run node nightwatch.js

一切正常。

但是当我运行时:

docker run --rm username/image-name xvfb-run node nightwatch.js

它只是悬挂。

打开bash终端和手动运行测试命令以及直接运行test命令有什么区别?他们肯定应该工作吗?

好的,所以我仍然不知道是什么原因引起了这个问题,但是我有一个能力很好的方法:

作为守护程序运行bash:

CONTAINERID=$(docker run -it -d username/image-name /bin/bash)

然后使用 docker exec

docker exec $CONTAINERID xvfb-run node nightwatch.js

当然,您需要进行一些整理:

docker stop $CONTAINERID
docker rm $CONTAINERID

最新更新