如何从本地浏览器中查看远程服务器上的docker中的xvfb会话?

我正在运行一个docker(我自己构build的),那就是运行E2Etesting的docker。 浏览器正常运行,但我想有另一个很好的function,我想在线观看会议的能力。

我的docker run命令是:

 docker run -p 4444:4444 --name ${DOCKER_TAG_NAME} -e Some_ENVs -v Volume:Volume --privileged -d "{docker-registry}" >> /dev/null 2>&1 

我可以导出屏幕截图,但在某些情况下,这还不够,观察testing的确切状态的能力将是惊人的。 我尝试了很多select,但是我走到了尽头,任何帮助都会很棒。

  • 我的testing是在Python 2.7
  • 我的Docker基础是ubuntu:14.04
  • 我的环境在AWS(如果这很重要)
  • docker工具在Ubuntu服务器上运行。

  • 我知道这是一个重复的,但没有人回答他这么…

最近有一个叫做Selenoid的工具。 它正在Docker容器中启动浏览器(即,根据需要无头)。 它有一个独立的用户界面,可以通过VNC显示实时会话屏幕。 因此,您可以并行启动多个会话,然后查看甚至拦截目标浏览器中发生的操作。 所有这些东西在云环境中完美的工作。

我以前用vnc也遇到同样的问题,你需要知道你的xvfb / vnc在哪个端口上,然后在你完成之后打开那个端口,然后你就可以连接了。

在我的情况下,我开始seleniumdocker“ https://github.com/elgalu/docker-selenium ”,并使用此命令来启动docker机“docker run -d –name = grid -p 4444:24444 -p 5900 :25900 \ -v / dev / shm:/ dev / shm -e VNC_PASSWORD = hola \ -e SCREEN_WIDTH = 1920 -e SCREEN_HEIGHT = 1480 \ elgalu / selenium“

根据命令的VNC端口是“5900”,所以我打开实例安全组的端口,并使用端口5900 VNC查看器连接