/** * DeployMan # Thomas Uhrig (Stuttgart, 2014) # www.tuhrig.de */ package de.tuhrig.deployman.health; import java.util.ArrayList; import java.util.List; import com.github.dockerjava.client.DockerClient; import com.github.dockerjava.client.DockerException; import com.github.dockerjava.client.model.Container; import com.github.dockerjava.client.model.Image; import com.github.dockerjava.client.model.Version; import de.tuhrig.deployman.docker.DockerRemoteClient; import static de.tuhrig.deployman.DeployMan.*; /** * @author tuhrig */ public class DockerInfo { private List<Image> images; private List<DockerContainerInfo> containers = new ArrayList<>(); private Version version; public DockerInfo(String instanceId) { try { DockerRemoteClient client = new DockerRemoteClient(); DockerClient docker = client.getDockerClientForInstance(instanceId); this.images = docker.listImagesCmd().exec(); this.version = docker.versionCmd().exec(); for (Container container : docker.listContainersCmd().withShowAll(true).exec()) this.containers.add(new DockerContainerInfo(docker, container)); } catch (DockerException e) { console.exception(e, "Cannot get Docker information"); //$NON-NLS-1$ } } public List<Image> getImages() { return this.images; } public void setImages(List<Image> images) { this.images = images; } public List<DockerContainerInfo> getContainers() { return this.containers; } public void setContainers(List<DockerContainerInfo> containers) { this.containers = containers; } public Version getVersion() { return this.version; } public void setVersion(Version version) { this.version = version; } }