public void connectToNetwork(String id, String containerId) throws DockerJSONException, ServiceException { try { logger.info("The client attempts to add container to a network..."); Network network = findNetwork(id); DockerResponse dockerResponse = driver.connectToNetwork(network, containerId); handleDockerAPIError(dockerResponse); } catch (FatalDockerJSONException e) { throw new DockerJSONException(e.getMessage(), e); } catch (IOException e) { throw new ServiceException(e.getMessage(), e); } }
@BeforeClass public static void setupClass() { DOCKER_HOST = "cloudunit.dev:4243"; dockerCloudUnitClient = new DockerCloudUnitClient(); dockerCloudUnitClient.setDriver(new SimpleDockerDriver(false, "http", DOCKER_HOST, null)); }
public Image findAnImage(Image image) throws DockerJSONException { DockerResponse dockerResponse = null; try { logger.info("The client attempts to find an image..."); dockerResponse = driver.findAnImage(image); handleDockerAPIError(dockerResponse); image = objectMapper.readValue(dockerResponse.getBody(), Image.class); } catch (FatalDockerJSONException | IOException e) { throw new DockerJSONException(e.getMessage(), e); } return image; }
@Test public void createThenDeleteNetworkAsBridge() throws IOException, ServiceException { dockerCloudUnitClient.createNetwork("myNetwork", "group1"); Network network = dockerCloudUnitClient.findNetwork("myNetwork"); Assert.assertEquals("myNetwork", network.getName()); Assert.assertTrue(network.getLabels().keySet().contains("cloudunit.type")); Assert.assertTrue(network.getLabels().values().contains("group1")); container = getContainerConfig(); dockerCloudUnitClient.createContainer(container); container = dockerCloudUnitClient.findContainer(container); dockerCloudUnitClient.connectToNetwork(network.getId(), container.getId()); container = dockerCloudUnitClient.findContainer(container); Assert.assertTrue(container.getNetworkSettings().getNetworks().keySet().stream() .filter(n-> n.equalsIgnoreCase("myNetwork")) .findAny() .isPresent()); container = ContainerBuilder.aContainer().withName(CONTAINER_NAME).build(); dockerCloudUnitClient.removeContainer(container); dockerCloudUnitClient.removeNetwork(network.getId()); }
@Test public void test01_lifecycle() throws DockerJSONException { Assert.assertNotNull(dockerCloudUnitClient.findContainer(container).getId()); dockerCloudUnitClient.findContainer(container); container = ContainerUtils.newStartInstance(container.getName(), null, null, false); dockerCloudUnitClient.startContainer(container); Assert.assertTrue(dockerCloudUnitClient.findContainer(container).getState().getRunning()); dockerCloudUnitClient.stopContainer(container); Assert.assertFalse(dockerCloudUnitClient.findContainer(container).getState().getRunning()); dockerCloudUnitClient.startContainer(container); dockerCloudUnitClient.killContainer(container); dockerCloudUnitClient.startContainer(container); }
@Test public void test01_commitAnImage() throws DockerJSONException { DockerContainer container = ContainerBuilder.aContainer() .withName(CONTAINER_NAME) .build(); container = dockerCloudUnitClient.findContainer(container, DOCKER_HOST); dockerCloudUnitClient.commitImage(container, TAG, container.getConfig().getImage()); Image image = ImageBuilder.anImage().withName("alpine:"+TAG).build(); image = dockerCloudUnitClient.findAnImage(image); Assert.assertTrue("Alpine found !", image.getId() != null); dockerCloudUnitClient.removeImage(image); }
socketPathAsString = "/var/run/docker.sock"; dockerCloudUnitClient = new DockerCloudUnitClient(); HostConfig hostConfig = HostConfigBuilder.aHostConfig() .withVolumesFrom(new ArrayList<>()) try { if(isUnixSocketConnection){ dockerCloudUnitClient.setDriver(new SimpleDockerDriver(true, null, socketPathAsString, null)); } else { dockerCloudUnitClient.setDriver(new SimpleDockerDriver(false, "http", DOCKER_HOST, null)); dockerCloudUnitClient.pullImage("latest", "alpine"); dockerCloudUnitClient.createContainer(container, DOCKER_HOST); } catch (DockerJSONException e) { Assert.fail();
dockerCloudUnitClient = new DockerCloudUnitClient(); dockerCloudUnitClient.setDriver(new SimpleDockerDriver(false, "http", DOCKER_HOST, null)); DockerContainer container = ContainerBuilder.aContainer().withName(CONTAINER_NAME).withConfig(config).build(); try { dockerCloudUnitClient.createContainer(container, DOCKER_HOST); hostConfig = HostConfigBuilder.aHostConfig() .withLinks(new ArrayList<>()) .withName(CONTAINER_NAME) .withConfig(config).build(); dockerCloudUnitClient.startContainer(container); } catch (DockerJSONException e) { Assert.fail();
@Test(expected=ErrorDockerJSONException.class) public void test05_removeImage() throws DockerJSONException { dockerCloudUnitClient.pullImage("latest", "busybox"); Image image = ImageBuilder.anImage().withName("busybox:latest").build(); image = dockerCloudUnitClient.findAnImage(image); Assert.assertTrue("Busybox found !", image.getId() != null); dockerCloudUnitClient.removeImage(image); dockerCloudUnitClient.findAnImage(image); }
@After public void tearDown() throws DockerJSONException { DockerContainer container = ContainerBuilder.aContainer() .withName(CONTAINER_NAME) .build(); dockerCloudUnitClient.removeContainer(container); Image image = ImageBuilder.anImage().withName("alpine:latest").build(); image = dockerCloudUnitClient.findAnImage(image); dockerCloudUnitClient.removeImage(image); }
@Test public void test30_createContainerWithVolumes() throws DockerJSONException { container = ContainerUtils.newStartInstance(container.getName(), null, null, false); dockerCloudUnitClient.startContainer(container); List<Mounts> mounts = dockerCloudUnitClient.findContainer(container).getMounts(); Assert.assertTrue(mounts.toString().contains("localtime")); }
@Test public void test02_PullAndFindAnImage() throws DockerJSONException, JsonProcessingException { dockerCloudUnitClient.pullImage("latest", "busybox"); Image image = ImageBuilder.anImage().withName("busybox:latest").build(); image = dockerCloudUnitClient.findAnImage(image); Assert.assertTrue("Busybox found !", image.getId() != null); }
@Before public void setup() throws Exception { HostConfig hostConfig = HostConfigBuilder.aHostConfig() .withBinds(Arrays.asList("/etc/localtime:/etc/localtime:ro")).build(); Config config = ConfigBuilder.aConfig().withAttachStdin(Boolean.FALSE).withAttachStdout(Boolean.TRUE) .withAttachStderr(Boolean.TRUE) .withCmd(Arrays.asList("/bin/bash", "/cloudunit/scripts/start-service.sh", "johndoe", "abc2015", "192.168.2.116", "172.17.0.221", "aaaa", "AezohghooNgaegh8ei2jabib2nuj9yoe", "main")) .withImage("cloudunit/tomcat-8:latest").withHostConfig(hostConfig).withExposedPorts(new HashMap<>()) .withMemory(0L).withMemorySwap(0L).build(); container = ContainerBuilder.aContainer().withName(CONTAINER_NAME).withConfig(config).build(); dockerCloudUnitClient.createContainer(container); }
public Image findAnImage(Image image) throws DockerJSONException { DockerResponse dockerResponse = null; try { logger.info("The client attempts to find an image..."); dockerResponse = driver.findAnImage(image); handleDockerAPIError(dockerResponse); image = objectMapper.readValue(dockerResponse.getBody(), Image.class); } catch (FatalDockerJSONException | IOException e) { throw new DockerJSONException(e.getMessage(), e); } return image; }
@Test public void test40_startContainerWithPorts() throws DockerJSONException { container = ContainerUtils.newStartInstance(container.getName(), null, null, false); dockerCloudUnitClient.startContainer(container); Assert.assertTrue((dockerCloudUnitClient.findContainer(container).getNetworkSettings().getPorts().toString() .contains("22"))); } }
/** * @param container * @return * @throws DockerJSONException */ public DockerContainer findContainer(DockerContainer container) throws DockerJSONException { logger.info("The client attempts to find a container..."); try { DockerResponse dockerResponse = driver.find(container); handleDockerAPIError(dockerResponse); container = objectMapper.readValue(dockerResponse.getBody(), DockerContainer.class); } catch (FatalDockerJSONException | IOException e) { throw new DockerJSONException(e.getMessage(), e); } return container; }
public void connectToNetwork(String id, String containerId) throws DockerJSONException, ServiceException { try { logger.info("The client attempts to add container to a network..."); Network network = findNetwork(id); DockerResponse dockerResponse = driver.connectToNetwork(network, containerId); handleDockerAPIError(dockerResponse); } catch (FatalDockerJSONException e) { throw new DockerJSONException(e.getMessage(), e); } catch (IOException e) { throw new ServiceException(e.getMessage(), e); } }
@BeforeClass public static void setupClass() { DOCKER_HOST = "cloudunit.dev:4243"; dockerCloudUnitClient = new DockerCloudUnitClient(); dockerCloudUnitClient.setDriver(new SimpleDockerDriver(false, "http", DOCKER_HOST, null)); }
/** * @param container * @param host * @return * @throws DockerJSONException */ public DockerContainer findContainer(DockerContainer container, String host) throws DockerJSONException { logger.info("The client attempts to find a container..."); try { DockerResponse dockerResponse = driver.find(container); handleDockerAPIError(dockerResponse); container = objectMapper.readValue(dockerResponse.getBody(), DockerContainer.class); } catch (FatalDockerJSONException | IOException e) { throw new DockerJSONException(e.getMessage(), e); } return container; }
/** * @param container * @param host * @return * @throws DockerJSONException */ public DockerContainer findContainer(DockerContainer container, String host) throws DockerJSONException { logger.info("The client attempts to find a container..."); try { DockerResponse dockerResponse = driver.find(container); handleDockerAPIError(dockerResponse); container = objectMapper.readValue(dockerResponse.getBody(), DockerContainer.class); } catch (FatalDockerJSONException | IOException e) { throw new DockerJSONException(e.getMessage(), e); } return container; }