我认为它应该是这样工作的。理想情况下,您希望包含隔离,直到您另有说明。
一个快速的解决方案,在您的 selenium 脚本上,而不是 localhost 指定您的 <machine name>。这样,您在 zalenium 中的脚本将寻求通过网络(仍然是您)解析地址,而不是尝试在自己的网络环上内部解析 localhost。
虽然这可能适用于您的机器,但它有点静态。您可能希望将其作为解决方案的一部分编写脚本,以便连接到多个。
在java中you can use this获取运行机器名:
InetAddress addr;
addr = InetAddress.getLocalHost();
hostname = addr.getHostName();
或者,要制作更便携的解决方案,您可能需要查看docker networking pages。
我认为this tutorial 可能会对您有所帮助。 “使用独立容器联网”听起来不错。
总而言之,当您运行 docker 容器时,您需要将它们附加到同一个网络。默认为:
--network bridge
或创建您自己的桥梁:
docker network create --driver bridge MyBridgeName
并在该网桥名称上运行您的两个容器:
docker run -dit --name MyImageName --network MyBridgeName ImageToRun
docker run -dit --name OtherName --network MyBridgeName OtherImageToRun