如果TestContainers不存在,那么TestContainer可以为我创builddockernetworking吗?
看起来我需要一个networking,因为我想通过另一个主机名来引用一个容器。
我也可以使用 – --link
但不推荐使用,可能会很快消失。 这就是为什么我想知道Testcontainers是否可以为我创build一个dockernetworking。
使用命令行我只需要执行docker network create bridge2
然后我可以像这样启动容器:
docker run -it --rm --net=bridge2 --name alpine1 alpine docker run -it --rm --net=bridge2 --name alpine2 alpine
并从alpine1
容器parsingnslookup alpine2
。
如果我尝试使用默认的--net=bridge
或跳过--net
选项(实际上是相同的)引用名称将无法正常工作。
是的,您可以使用TestContainers创buildnetworking。 我们将很快logging下来,但是它很简单:
首先创build一个networking:
@Rule public Network network = Network.newNetwork();
然后,configuration您的容器join它:
@Rule public NginxContainer nginx = new NginxContainer<>() .withNetwork(network) // <--- Here .withNetworkAliases("nginx") // <--- "hostname" of this container .withCustomContent(contentFolder.toString()); @Rule public BrowserWebDriverContainer chrome = new BrowserWebDriverContainer<>() .withNetwork(network) // <--- And here .withDesiredCapabilities(DesiredCapabilities.chrome());
现在,Nginx容器将以Chrome浏览器的forms显示为“ http:// nginx / ”。