From 5bb047c96004d2a017423b093957d2b478c4ce56 Mon Sep 17 00:00:00 2001 From: Georg Pfuetzenreuter Date: Sun, 8 May 2022 13:59:55 +0200 Subject: Shell deletion logic Signed-off-by: Georg Pfuetzenreuter --- .../java/net/libertacasa/pubsh/web/Docker.java | 25 ++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/main/java/net/libertacasa/pubsh/web/Docker.java') diff --git a/src/main/java/net/libertacasa/pubsh/web/Docker.java b/src/main/java/net/libertacasa/pubsh/web/Docker.java index 2aebe9c..9621978 100644 --- a/src/main/java/net/libertacasa/pubsh/web/Docker.java +++ b/src/main/java/net/libertacasa/pubsh/web/Docker.java @@ -11,6 +11,7 @@ import java.util.stream.Collectors; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.BuildImageResultCallback; import com.github.dockerjava.api.command.CreateContainerResponse; +import com.github.dockerjava.api.command.InspectContainerResponse; import com.github.dockerjava.api.command.ListContainersCmd; import com.github.dockerjava.api.command.ListImagesCmd; import com.github.dockerjava.api.command.WaitContainerResultCallback; @@ -98,7 +99,7 @@ public class Docker { public static String buildImage(String targetUser, String osChoice, Integer count) { String dockerfile = "/home/georg/tmp/docker/Dockerfile_" + osChoice; - String tag = targetUser + ":sh" + count; + String tag = targetUser + ":" + osChoice + count; if (! new File(dockerfile).exists()) { System.out.printf("Invalid Dockerfile: %s\n", dockerfile); } @@ -113,7 +114,7 @@ public class Docker { return(imgid); } - public static void deleteImage(String username, String id) { + public static void deleteImage(String id) { List imagequery = Docker.getImages(null); if (imagequery.toString().contains(id)) { @@ -151,5 +152,25 @@ public class Docker { System.out.printf("Created container with ID %s from image ID %s\n", containerid, imgid); return(containerid); } + + public static String deleteShell(String user, String id) { + Docker.deleteContainer(id); + List images = Docker.getImages(user); + for (Image image : images) { + System.out.println(image.getLabels()); + String imageid = image.getId(); + System.out.println(imageid); + try { + Docker.deleteImage(imageid); + System.out.println("Removed."); + } catch (com.github.dockerjava.api.exception.ConflictException exception) { + System.out.println("Still being used, skipping."); + } + + + } + + return("foo"); + } } -- cgit v1.2.3