3

私たちの J2EE プロジェクトでは、 docker -javaに依存して、Java コードからsjourdan/ffmpeg dockerを呼び出して、ビデオ変換を行っています。

今のところ、これは次のようになります (簡潔にするために非常に単純化されています)。

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 コマンドが完全に終了したことを知らせるコールバックが呼び出されるまで、スレッドを強制的に待機させるにはどうすればよいでしょうか?


別のメモとして、誰かがdocker-java を使用--rmして再生されたコマンドにパラメーターを追加する方法を知っている場合docker run、私は興味があります。

4

2 に答える 2