LOGGER.trace("Removing container: {}", containerId); try { dockerClient.removeContainerCmd(containerId).withRemoveVolumes(true).withForce(true).exec(); LOGGER.debug("Removed container and associated volume(s): {}", imageName); } catch (InternalServerErrorException e) {
private <T> T runInsideDocker(DockerClient client, Consumer<CreateContainerCmd> createContainerCmdConsumer, BiFunction<DockerClient, String, T> block) { checkAndPullImage(client, TINY_IMAGE); CreateContainerCmd createContainerCmd = client.createContainerCmd(TINY_IMAGE) .withLabels(DEFAULT_LABELS); createContainerCmdConsumer.accept(createContainerCmd); String id = createContainerCmd.exec().getId(); try { client.startContainerCmd(id).exec(); return block.apply(client, id); } finally { try { client.removeContainerCmd(id).withRemoveVolumes(true).withForce(true).exec(); } catch (NotFoundException | InternalServerErrorException ignored) { log.debug("", ignored); } } }
public void removeContainer(String containerId, boolean removeVolumes) { this.readWriteLock.readLock().lock(); try { this.dockerClient.removeContainerCmd(containerId).withRemoveVolumes(removeVolumes).exec(); } finally { this.readWriteLock.readLock().unlock(); } }
public void removeContainer(String containerId, boolean removeVolumes) { this.readWriteLock.readLock().lock(); try { this.dockerClient.removeContainerCmd(containerId).withRemoveVolumes(removeVolumes).exec(); } finally { this.readWriteLock.readLock().unlock(); } }
public void removeContainer(String containerName) { log.debug("Removing container {}", containerName); boolean removed = false; int count = 0; do { try { count++; getClient().removeContainerCmd(containerName).withRemoveVolumes(true).exec(); log.trace("*** Only for debugging: After Docker.removeContainer({}). Times: {}", containerName, count); removed = true; } catch (Throwable e) { if (count == 10) { log.trace("*** Only for debugging: Exception {} -> Docker.removeContainer({}).", containerName, e.getMessage()); } try { log.trace("Waiting for removing {}. Times: {}", containerName, count); Thread.sleep(WAIT_CONTAINER_POLL_TIMEOUT); } catch (InterruptedException e1) { // Nothing to do } } } while (!removed && count <= 10); }
public void removeContainer(String containerName) { log.debug("Removing container {}", containerName); boolean removed = false; int count = 0; do { try { count++; getClient().removeContainerCmd(containerName).withRemoveVolumes(true).exec(); log.trace("*** Only for debugging: After Docker.removeContainer({}). Times: {}", containerName, count); removed = true; } catch (Throwable e) { if (count == 10) { log.trace("*** Only for debugging: Exception {} -> Docker.removeContainer({}).", containerName, e.getMessage()); } try { log.trace("Waiting for removing {}. Times: {}", containerName, count); Thread.sleep(WAIT_CONTAINER_POLL_TIMEOUT); } catch (InterruptedException e1) { // Nothing to do } } } while (!removed && count <= 10); }
/** * removes a {@link Container} * * @param id - id of {@link Container} * @param withRemoveVolumes - true or false, Remove the volumes associated to the container */ public void removeContainer(String id, Boolean withRemoveVolumes) throws NotFoundException, NotModifiedException { dockerClient.removeContainerCmd(id).withForce(true).withRemoveVolumes(withRemoveVolumes).exec(); }
private void removeContainer(Container existingContainer) { logger.info("Removing container " + existingContainer.getId()); try { docker.removeContainerCmd(existingContainer.getId()).withForce(true).withRemoveVolumes(true).exec(); } catch (InternalServerErrorException e) { if (permissionErrorTolerant && isPermissionError(e)) { logger.warn(String.format("ignoring %s when removing container as we are configured to be permission error tolerant", e)); } else { throw e; } } }
public void killAllSchedulers() { getSchedulerContainers().forEach(container -> dockerClient.removeContainerCmd(container.getId()).withRemoveVolumes(true).withForce(true).exec()); } }
public void killAllExecutors() { getExecutorContainers().forEach(container -> dockerClient.removeContainerCmd(container.getId()).withRemoveVolumes(true).withForce(true).exec()); }
@Override public void stopAndRemoveContainer(String containerId) { dockerClient.stopContainerCmd(containerId).exec(); dockerClient.removeContainerCmd(containerId).withRemoveVolumes(true).exec(); }
public Void call() throws Exception { DockerClient client = DockerCommand.getClient(descriptor, cfgData.dockerUrlRes, cfgData.dockerVersionRes, cfgData.dockerCertPathRes, null); client.removeContainerCmd(id).withForce(force).withRemoveVolumes(removeVolumes).exec(); return null; }
/** * Removes a container with force */ @Override public void remove() { try { if (DockerContainersUtil.getContainer(containerId) != null) { DockerClientFactory.build().removeContainerCmd(containerId).withForce(true).withRemoveVolumes(true).exec(); } } catch (Exception e) { LOGGER.error("Could not remove container " + dockerCommand().getName(), e); } }
/** * Removes all containers in the util object */ public void remove() { if (containers != null) { for (Container container : containers) { DockerClientFactory.build().removeContainerCmd(container.getId()).withForce(true).withRemoveVolumes(true).exec(); } } }
/** * Produces a remove container request * * @param client * @param message * @return */ private RemoveContainerCmd executeRemoveContainerRequest(DockerClient client, Message message) { LOGGER.debug("Executing Docker Remove Container Request"); String containerId = DockerHelper.getProperty(DockerConstants.DOCKER_CONTAINER_ID, configuration, message, String.class); ObjectHelper.notNull(containerId, "Container ID must be specified"); RemoveContainerCmd removeContainerCmd = client.removeContainerCmd(containerId); Boolean force = DockerHelper.getProperty(DockerConstants.DOCKER_FORCE, configuration, message, Boolean.class); if (force != null) { removeContainerCmd.withForce(force); } Boolean removeVolumes = DockerHelper.getProperty(DockerConstants.DOCKER_REMOVE_VOLUMES, configuration, message, Boolean.class); if (removeVolumes != null) { removeContainerCmd.withRemoveVolumes(removeVolumes); } return removeContainerCmd; }
LOGGER.trace("Removing container: {}", containerId); try { dockerClient.removeContainerCmd(containerId).withRemoveVolumes(true).withForce(true).exec(); LOGGER.debug("Removed container and associated volume(s): {}", imageName); } catch (InternalServerErrorException e) {
} finally { try { client.removeContainerCmd(id).withRemoveVolumes(true).withForce(true).exec(); } catch (NotFoundException | InternalServerErrorException ignored) { log.debug("", ignored);
@Override public void close() { try { try { client.stopContainerCmd(containerInfo.getId()).withTimeout(30).exec(); } catch (Exception ex) { // no-op } client.removeContainerCmd(containerInfo.getId()) .withForce(true) .withRemoveVolumes(true) .exec(); client.close(); } catch (Exception e) { // no-op } isClosed = true; }
if( !containerNowRemoved ) { client.removeContainerCmd(containerId) .withRemoveVolumes(removeVolumes) .exec(); containerNowRemoved = true;