public String createNetwork(String id, Network network) { this.readWriteLock.readLock().lock(); try { final CreateNetworkCmd createNetworkCmd = this.dockerClient.createNetworkCmd().withName(id); if (network.getDriver() != null) { createNetworkCmd.withDriver(network.getDriver()); } if (network.getIpam() != null) { createNetworkCmd.withIpam(new com.github.dockerjava.api.model.Network.Ipam().withConfig( createIpamConfig(network))); } if (network.getOptions() != null && !network.getOptions().isEmpty()) { createNetworkCmd.withOptions(network.getOptions()); } final CreateNetworkResponse exec = createNetworkCmd.exec(); return exec.getId(); } finally { this.readWriteLock.readLock().unlock(); } }
public String createNetwork(String id, Network network) { this.readWriteLock.readLock().lock(); try { final CreateNetworkCmd createNetworkCmd = this.dockerClient.createNetworkCmd().withName(id); if (network.getDriver() != null) { createNetworkCmd.withDriver(network.getDriver()); } if (network.getIpam() != null) { createNetworkCmd.withIpam(new com.github.dockerjava.api.model.Network.Ipam().withConfig( createIpamConfig(network))); } if (network.getOptions() != null && !network.getOptions().isEmpty()) { createNetworkCmd.withOptions(network.getOptions()); } final CreateNetworkResponse exec = createNetworkCmd.exec(); return exec.getId(); } finally { this.readWriteLock.readLock().unlock(); } }
@Test public void should_be_able_to_read_network_configuration() { String config = "networks:\n" + " mynetwork:\n " + " driver: bridge\n" + "tomcat6:\n" + " image: tutum/tomcat:6.0\n" + " exposedPorts: [8089/tcp]\n" + " await:\n" + " strategy: static\n" + " ip: localhost\n" + " ports: [8080, 8089]\n" + "tomcat7:\n" + " extends: tomcat6\n" + " image: tutum/tomcat:7.0\n"; Map<String, String> parameters = new HashMap<String, String>(); parameters.put("dockerContainers", config); parameters.put("definitionFormat", DefinitionFormat.CUBE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); final Network mynetwork = cubeConfiguration.getDockerContainersContent().getNetwork("mynetwork"); assertThat(mynetwork, is(notNullValue())); assertThat(mynetwork.getDriver(), is("bridge")); }
@Test public void shouldTransformSimpleDockerComposeV2FormatWithNetworksByDefaultDriver() throws URISyntaxException, IOException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/simple-docker-compose-networks-v2.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("webapp"); assertThat(webapp.getBuildImage(), is(notNullValue())); assertThat(webapp.getPortBindings(), is(notNullValue())); Collection<PortBinding> ports = webapp.getPortBindings(); assertThat(ports, containsInAnyOrder(PortBinding.valueOf("8000->8000"))); assertThat(webapp.getDevices(), is(notNullValue())); assertThat(webapp.getVolumes(), is(notNullValue())); Collection<String> webappVolumes = (Collection<String>) webapp.getVolumes(); assertThat(webappVolumes, containsInAnyOrder("/data")); CubeContainer webapp2 = convert.getContainers().get("webapp2"); assertThat(webapp2.getImage(), is(notNullValue())); assertThat(webapp2.getPortBindings(), is(notNullValue())); assertThat(webapp2.getLinks(), is(notNullValue())); Collection<Link> links = webapp2.getLinks(); assertThat(links, containsInAnyOrder(Link.valueOf("webapp:webapp"))); assertThat(webapp2.getEnv(), is(notNullValue())); Collection<String> env = webapp2.getEnv(); assertThat(env, containsInAnyOrder("RACK_ENV=development")); Map<String, Network> networks = convert.getNetworks(); Network network = networks.get("front-tier"); assertThat(network.getDriver(), is("bridge")); Network network2 = networks.get("back-tier"); assertThat(network2.getDriver(), is("bridge")); }
@Test public void shouldTransformSimpleDockerComposeV2FormatWithNetworks() throws URISyntaxException, IOException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/simple-docker-compose-v2.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("webapp"); assertThat(webapp.getBuildImage(), is(notNullValue())); assertThat(webapp.getPortBindings(), is(notNullValue())); Collection<PortBinding> ports = webapp.getPortBindings(); assertThat(ports, containsInAnyOrder(PortBinding.valueOf("8000->8000"))); assertThat(webapp.getDevices(), is(notNullValue())); assertThat(webapp.getVolumes(), is(notNullValue())); Collection<String> webappVolumes = (Collection<String>) webapp.getVolumes(); assertThat(webappVolumes, containsInAnyOrder("/data")); CubeContainer webapp2 = convert.getContainers().get("webapp2"); assertThat(webapp2.getImage(), is(notNullValue())); assertThat(webapp2.getPortBindings(), is(notNullValue())); assertThat(webapp2.getLinks(), is(notNullValue())); Collection<Link> links = webapp2.getLinks(); assertThat(links, containsInAnyOrder(Link.valueOf("webapp:webapp"))); assertThat(webapp2.getEnv(), is(notNullValue())); Collection<String> env = webapp2.getEnv(); assertThat(env, containsInAnyOrder("RACK_ENV=development")); Map<String, Network> networks = convert.getNetworks(); Network network = networks.get("front-tier"); assertThat(network.getDriver(), is("bridge")); Network network2 = networks.get("back-tier"); assertThat(network2.getDriver(), is("bridge")); }