summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/libertacasa/pubsh/web/Docker.java
diff options
context:
space:
mode:
authorGeorg Pfuetzenreuter2022-05-06 18:25:22 +0200
committerGeorg Pfuetzenreuter2022-05-06 18:25:22 +0200
commit20d049ea10c14eb335014b5c8d150f55bf437377 (patch)
treeb0f1fdef1a3ef7c3700c68349de9e50a9468531c /src/main/java/net/libertacasa/pubsh/web/Docker.java
parent65688954c9f4a0393d58c695c12712707f47c527 (diff)
downloadpubsh-web-20d049ea10c14eb335014b5c8d150f55bf437377.tar.gz
pubsh-web-20d049ea10c14eb335014b5c8d150f55bf437377.tar.bz2
pubsh-web-20d049ea10c14eb335014b5c8d150f55bf437377.zip
Checkpoint
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.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/net/libertacasa/pubsh/web/Docker.java b/src/main/java/net/libertacasa/pubsh/web/Docker.java
index 536a80e..1460bb3 100644
--- a/src/main/java/net/libertacasa/pubsh/web/Docker.java
+++ b/src/main/java/net/libertacasa/pubsh/web/Docker.java
@@ -1,11 +1,15 @@
package net.libertacasa.pubsh.web;
+import java.io.File;
import java.time.Duration;
import java.util.Arrays;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import com.github.dockerjava.api.DockerClient;
+import com.github.dockerjava.api.command.BuildImageResultCallback;
import com.github.dockerjava.api.command.InspectExecResponse.Container;
import com.github.dockerjava.api.command.ListContainersCmd;
import com.github.dockerjava.api.model.Image;
@@ -77,4 +81,17 @@ public class Docker {
dockerClient.removeContainerCmd(id).exec();
}
+ public static String buildImage(String targetUser, String osChoice, Integer count) {
+ String dockerfile = "classpath:docker/Dockerfile-" + osChoice;
+ String tag = targetUser + ":sh" + count;
+ Set<String> tags = new HashSet<String>();
+ tags.add(tag);
+ String imgid = dockerClient.buildImageCmd()
+ .withDockerfile(new File(dockerfile))
+ .withPull(false).withNoCache(false).withTags(tags)
+ .exec(new BuildImageResultCallback()).awaitImageId();
+
+ return(imgid);
+ }
+
}