diff options
author | Georg Pfuetzenreuter | 2022-05-08 13:59:55 +0200 |
---|---|---|
committer | Georg Pfuetzenreuter | 2022-05-08 13:59:55 +0200 |
commit | 5bb047c96004d2a017423b093957d2b478c4ce56 (patch) | |
tree | 2895d2e8c687b9133743b19e2b3fd4b46d07a88e /src/main/java/net/libertacasa/pubsh/web/Docker.java | |
parent | 6379976dff4d1da13576b62c335d253e698c872b (diff) | |
download | pubsh-web-5bb047c96004d2a017423b093957d2b478c4ce56.tar.gz pubsh-web-5bb047c96004d2a017423b093957d2b478c4ce56.tar.bz2 pubsh-web-5bb047c96004d2a017423b093957d2b478c4ce56.zip |
Shell deletion logic
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Diffstat (limited to 'src/main/java/net/libertacasa/pubsh/web/Docker.java')
-rw-r--r-- | src/main/java/net/libertacasa/pubsh/web/Docker.java | 25 |
1 files changed, 23 insertions, 2 deletions
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<Image> 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<Image> 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"); + } } |