如何从我的本地浏览器观看远程服务器上 docker 内的 xvfb session?

How to watch xvfb session that's inside a docker on remote server from my local browser?

我是运行一个docker(我自己建的),那是docker运行端到端测试。 浏览器已启动 运行 但我想要另一个不错的功能,我想要在线观看 session 的能力。

我的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

我可以导出屏幕截图,但在某些情况下这还不够,而且能够查看测试的确切状态的能力将是惊人的。 我尝试了很多选择,但我走到了死胡同,任何帮助都会很棒。

我之前用 vnc 遇到过同样的问题,你需要知道你的 xvfb/vnc 正在使用哪个端口,然后在你的 aws secuirty 组上打开那个端口,然后你应该能够连接。

在我的例子中,我正在启动 selenium docker“https://github.com/elgalu/docker-selenium”并使用此命令启动 docker 机器“docker运行-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 查看器连接

有一个名为 Selenoid. It is launching browsers in Docker containers (i.e. headless as you require). It has a standalone UI capable to show live session screen via VNC 的最新工具。因此,您可以并行启动多个会话,然后查看甚至拦截目标浏览器中发生的操作。所有这些东西都可以在云环境中完美运行。