1
在我們的J2EE項目中,我們通過從我們的java代碼調用sjourdan/ffmpeg docker,依靠docker-java進行一些視頻轉換。如何等待來自DockerClient.waitContainerCmd()的ResultCallback?
現在,它看起來是這樣的(相當簡化爲簡潔起見):
CreateContainerCmd createCommand = dockerClient.createContainerCmd("sjourdan/ffmpeg")
.withVolumes(aVolume)
.withBinds(aBind)
.withCmd("a lot of options about the conversion itself, codec, ratio, …");
CreateContainerResponse container = createCommand.exec();
dockerClient.startContainerCmd(container.getId()).exec();
// vanilla implementation of ResultCallback
MyResultCallback callback = new MyResultCallback();
dockerClient.waitContainerCmd(container.getId()).exec(callback);
事實是,當然,螺紋保持後去,而無需等待回調被稱爲回。
我們應該如何強制線程等待直到回調被調用,通知我們docker命令已完全結束?
在另一方面,如果有人知道如何使用泊塢窗Java的一個--rm
參數添加到出場docker run
命令,我很感興趣。