¿Puede TestContainers crear una networking de Docker si no existe?

Parece que necesito una networking porque me gustaría hacer reference a un contenedor por nombre de host de otro.

También podría usar el --link pero está en desuso y puede desaparecer pronto. Es por eso que me pregunto si Testcontainers puede crear una networking de docker para mí.

Con la línea de command, simplemente ejecutaba la docker network create bridge2 y luego puedo iniciar contenedores como este:

 docker run -it --rm --net=bridge2 --name alpine1 alpine docker run -it --rm --net=bridge2 --name alpine2 alpine 

y resuelve nslookup alpine2 del contenedor alpine1 .

Si trato de usar el valor pnetworkingeterminado --net=bridge network o skip --net opción de --net (que en realidad es la misma) no funcionará la reference por nombre.

Sí, puede crear networkinges con TestContainers. Vamos a documentarlo pronto, pero es tan simple como:

Primero, crea una networking:

 @Rule public Network network = Network.newNetwork(); 

Luego, configure sus contenedores para join a él:

 @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 .withDesinetworkingCapabilities(DesinetworkingCapabilities.chrome()); 

Ahora el contenedor de Nginx será visible para Chrome como " http: // nginx / ".

El mismo ejemplo en nuestras testings:
https://github.com/testcontainers/testcontainers-java/blob/540f5672df90aa5233dde1dde7e8a9bc021c6e88/modules/selenium/src/test/java/org/testcontainers/junit/LinkedContainerTest.java#L27