我有一个docker容器运行一个rails应用程序(我们称之为容器A)需要使用firefox作为后端使用watir webdriver进行一些抓取.
我在另一个容器(容器B)中安装了firefox,我希望能够传入容器A,例如:
Selenium::WebDriver::Firefox::Binary.path= $DOCKER_RUN_CONTAINER_A
因此,每次watir启动firefox时,CONTAINER_A的新实例都会启动一个新的Firefox.
我知道容器使用端口进行通信很容易,但可执行文件怎么样?
并且,顺便说一下,将firefox隔离在一个单独的容器中看起来是一个好的设计理念吗?
最佳答案
是的,这很容易做到.只需在docker服务器的前台运行Selenium Grid实例(默认情况下是一个网格节点混合组合)(在端口5555或其他任何地方).然后你可以使用Ruby和Selenium绑定(而不是WatiR)来驱动远程盒子上的firefox浏览器.