gpt4 book ai didi

docker-java/docker 远程 api block ,直到容器完成

转载 作者:行者123 更新时间:2023-12-02 19:39:44 27 4
gpt4 key购买 nike

我正在尝试使用 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有非常糟糕的文档,我所做的大部分工作都是通过查看测试用例来完成的。

干杯,

缺口

最佳答案

dockerClient.startContainerCmd(createContainerResponse.getId()).exec();
WaitContainerResultCallback resultCallback = new WaitContainerResultCallback();
dockerClient.waitContainerCmd(createContainerResponse.getId()).exec(resultCallback);
resultCallback.awaitCompletion();
dockerClient.removeContainerCmd(createContainerResponse.getId()).exec();

关于docker-java/docker 远程 api block ,直到容器完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com