The problem is with unbound streaming thus using log command 'followStream' option or using events command without 'until' option. If the server returns an unbound stream normally there is no chance to cancel the stream as `InputStream#read()' blocks while waiting for chunks to come from the server. This can be solved only by using separate threads as in the current events command implementation.
I'm still unsatisfied with these different streaming APIs in docker-java. I think all streaming commands should use the same callback driven API as in events command.