public DockerPort portMappedExternallyTo(int externalPort) { return portMappings.get() .stream() .filter(port -> port.getExternalPort() == externalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No port mapped externally to '" + externalPort + "' for container '" + containerName + "'")); }
public DockerPort port(int internalPort) { return portMappings.get() .stream() .filter(port -> port.getInternalPort() == internalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No internal port '" + internalPort + "' for container '" + containerName + "'")); }
public DockerPort port(int internalPort) { return portMappings.get() .stream() .filter(port -> port.getInternalPort() == internalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No internal port '" + internalPort + "' for container '" + containerName + "'")); }
public DockerPort port(int internalPort) { return portMappings.get() .stream() .filter(port -> port.getInternalPort() == internalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No internal port '" + internalPort + "' for container '" + containerName + "': " + portMappings)); }
public DockerPort portMappedExternallyTo(int externalPort) { return portMappings.get() .stream() .filter(port -> port.getExternalPort() == externalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No port mapped externally to '" + externalPort + "' for container '" + containerName + "'")); }
public DockerPort portMappedExternallyTo(int externalPort) { return portMappings.get() .stream() .filter(port -> port.getExternalPort() == externalPort) .findFirst() .orElseThrow(() -> new IllegalArgumentException("No port mapped externally to '" + externalPort + "' for container '" + containerName + "'")); }
public SuccessOrFailure areAllPortsOpen() { List<Integer> unavaliablePorts = portMappings.get().stream() .filter(port -> !port.isListeningNow()) .map(DockerPort::getInternalPort) .collect(Collectors.toList()); boolean allPortsOpen = unavaliablePorts.isEmpty(); String failureMessage = "The following ports failed to open: " + unavaliablePorts; return SuccessOrFailure.fromBoolean(allPortsOpen, failureMessage); } }
public SuccessOrFailure areAllPortsOpen() { List<Integer> unavaliablePorts = portMappings.get().stream() .filter(port -> !port.isListeningNow()) .map(DockerPort::getInternalPort) .collect(Collectors.toList()); boolean allPortsOpen = unavaliablePorts.isEmpty(); String failureMessage = "The following ports failed to open: " + unavaliablePorts; return SuccessOrFailure.fromBoolean(allPortsOpen, failureMessage); } }
public SuccessOrFailure areAllPortsOpen() { List<Integer> unavaliablePorts = portMappings.get().stream() .filter(port -> !port.isListeningNow()) .map(DockerPort::getInternalPort) .collect(Collectors.toList()); boolean allPortsOpen = unavaliablePorts.isEmpty(); String failureMessage = "The following ports failed to open: " + unavaliablePorts; return SuccessOrFailure.fromBoolean(allPortsOpen, failureMessage); } }
private void awaitContainerStart(Container container) { LOG.INFO("Waiting for '%s' to become ready...", container.getContainerName()); try { int retries = MAX_WAIT_SECONDS; while (container.areAllPortsOpen().failed()) { Wait.seconds(1); if (retries-- <= 0) { LOG.WARN("Failed to start '%s' - Ports: %s", container.getContainerName(), container.ports().stream().map(Object::toString).collect(Collectors.joining(", "))); return; } } LOG.INFO("Container '%s' is ONLINE - Ports: %s", container.getContainerName(), container.ports().stream().map(Object::toString).collect(Collectors.joining(", "))); } catch (Exception e) { LOG.SEVERE(e); } }