我正在尝试使用docker-java从java中使用docker远程API,但我无法找到一种方法来查看我的容器执行何时完成:
CreateContainerResponse container = dockerClient.createContainerCmd("me/vw:v0.1")
.withVolumes(workingDIR)
.withBinds(new Bind("/localDrive", workingDIR))
.withCmd("vw", "/rcv1/rcv1.train.vw.gz", "--cache_file", "/rcv1/cache_train", "-f", "/rcv1/r_temp")
.withLogConfig(logconf)
.exec();
dockerClient.startContainerCmd((container.getId())).exec();
Thread.sleep(10000); //OBVIOUSLY BROKEN HACK IS BROKEN
System.out.println("PRINTING LOGS");
System.out.println(containerLog(container.getId(), dockerClient));
如何正常检查容器是否完成?我需要编写一些轮询docker服务器的代码,还是有一些方便的阻塞函数/调用可用?docker-java
文档非常糟糕,大部分工作都是通过查看测试用例得出的。
谢谢,
Nick
awaitCompletion
,看起来很有前途。 - Matthewdocker-java
的文档不是很好,所以需要一些时间来理解发生了什么... - XapaJIaMnu