package net.libertacasa.pubsh.web; import java.time.Duration; import java.util.List; import java.util.stream.Collectors; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.model.Image; import com.github.dockerjava.core.DefaultDockerClientConfig; import com.github.dockerjava.core.DockerClientConfig; import com.github.dockerjava.core.DockerClientImpl; import com.github.dockerjava.httpclient5.ApacheDockerHttpClient; import com.github.dockerjava.transport.DockerHttpClient; public class Docker { static DockerClientConfig DockerConfig = DefaultDockerClientConfig.createDefaultConfigBuilder() .withDockerHost("tcp://sweetsuse:2375") .withDockerTlsVerify(false) .build(); static DockerHttpClient httpClient = new ApacheDockerHttpClient.Builder() .dockerHost(DockerConfig.getDockerHost()) .sslConfig(DockerConfig.getSSLConfig()) .maxConnections(100) .connectionTimeout(Duration.ofSeconds(30)) .responseTimeout(Duration.ofSeconds(45)) .build(); static DockerClient dockerClient = DockerClientImpl.getInstance(DockerConfig, httpClient); public static List getImageChecksums() { List imageQuery; List imageList; imageQuery = dockerClient.listImagesCmd().exec(); imageList = imageQuery.stream().map(Image::getId).collect(Collectors.toList()); return imageList; } public static List getImages() { List imageQuery; imageQuery = dockerClient.listImagesCmd().exec(); return imageQuery; } public static List getContainers() { List containerQuery; containerQuery = dockerClient.listContainersCmd().withShowAll(true).exec(); return containerQuery; } }