summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorMartin Polden <martin.polden@gmail.com>2017-01-27 20:43:45 +0100
committerMartin Polden <martin.polden@gmail.com>2017-01-27 20:43:45 +0100
commitaca076c91321d5613ac80a137248541431f6d9bd (patch)
treea0fc347d28798cc7139b34f86a2cd70d40238b57 /docker-api
parent50137a2c5b1232cb1b80a5d028e9118ef836f91a (diff)
Add method for getting container by name
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java2
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java8
2 files changed, 10 insertions, 0 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
index 6468e14fc64..daa096897a2 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
@@ -66,6 +66,8 @@ public interface Docker {
Optional<Container> getContainer(String hostname);
+ Optional<Container> getContainer(ContainerName containerName);
+
CompletableFuture<DockerImage> pullImageAsync(DockerImage image);
boolean imageIsDownloaded(DockerImage image);
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
index 11ba5f42c52..f56e8270e09 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
@@ -354,6 +354,14 @@ public class DockerImpl implements Docker {
.findFirst();
}
+ @Override
+ public Optional<Container> getContainer(ContainerName containerName) {
+ return listAllContainers().stream()
+ .flatMap(this::asContainer)
+ .filter(c -> Objects.equals(containerName, c.name))
+ .findFirst();
+ }
+
private Stream<Container> asContainer(com.github.dockerjava.api.model.Container dockerClientContainer) {
return inspectContainerCmd(dockerClientContainer.getId())
.map(response ->