18
18
19
19
import java .io .File ;
20
20
import java .io .FileInputStream ;
21
- import java .io .IOException ;
22
21
import java .io .InputStream ;
23
22
import java .util .ArrayList ;
24
23
import java .util .Arrays ;
25
24
import java .util .Collections ;
25
+ import java .util .HashSet ;
26
26
import java .util .List ;
27
27
import java .util .concurrent .TimeUnit ;
28
28
import java .util .regex .Pattern ;
29
29
30
- import javax .ws .rs .client .ClientRequestContext ;
31
- import javax .ws .rs .client .ClientRequestFilter ;
32
30
import javax .ws .rs .client .Entity ;
33
31
import javax .ws .rs .client .WebTarget ;
34
32
35
33
import com .github .dockerjava .api .DockerClient ;
36
- import com .github .dockerjava .api .DockerClientException ;
37
34
import com .github .dockerjava .api .command .DockerCmd ;
35
+ import com .github .dockerjava .api .exception .DockerClientException ;
38
36
import com .github .dockerjava .api .model .BuildResponseItem ;
39
37
import com .github .dockerjava .api .model .Frame ;
40
- import com .github .dockerjava .core .CompressArchiveUtil ;
38
+ import com .github .dockerjava .core .DefaultDockerClientConfig ;
41
39
import com .github .dockerjava .core .DockerClientBuilder ;
42
40
import com .github .dockerjava .core .DockerClientConfig ;
43
41
import com .github .dockerjava .core .command .AttachContainerResultCallback ;
44
42
import com .github .dockerjava .core .command .BuildImageResultCallback ;
43
+ import com .github .dockerjava .core .command .WaitContainerResultCallback ;
44
+ import com .github .dockerjava .core .util .CompressArchiveUtil ;
45
45
import com .github .dockerjava .jaxrs .AbstrSyncDockerCmdExec ;
46
- import com .github .dockerjava .jaxrs .DockerCmdExecFactoryImpl ;
46
+ import com .github .dockerjava .jaxrs .JerseyDockerCmdExecFactory ;
47
47
import org .assertj .core .api .Condition ;
48
48
import org .junit .Test ;
49
49
import org .junit .runner .RunWith ;
@@ -250,8 +250,10 @@ public void onNext(Frame item) {
250
250
}
251
251
252
252
});
253
- resultCallback .awaitCompletion (60 , TimeUnit .SECONDS ).close ();
254
- docker .waitContainerCmd (container ).exec ();
253
+ resultCallback .awaitCompletion (60 , TimeUnit .SECONDS );
254
+ WaitContainerResultCallback waitContainerCallback = new WaitContainerResultCallback ();
255
+ docker .waitContainerCmd (container ).exec (waitContainerCallback );
256
+ waitContainerCallback .awaitCompletion (60 , TimeUnit .SECONDS );
255
257
return output .toString ();
256
258
}
257
259
finally {
@@ -265,11 +267,10 @@ public void onNext(Frame item) {
265
267
}
266
268
267
269
private DockerClient createClient () {
268
- DockerClientConfig config = DockerClientConfig .createDefaultConfigBuilder ()
269
- .withVersion ("1.19" ).build ();
270
- DockerClient docker = DockerClientBuilder .getInstance (config )
270
+ DockerClientConfig config = DefaultDockerClientConfig .createDefaultConfigBuilder ()
271
+ .withApiVersion ("1.19" ).build ();
272
+ return DockerClientBuilder .getInstance (config )
271
273
.withDockerCmdExecFactory (this .commandExecFactory ).build ();
272
- return docker ;
273
274
}
274
275
275
276
private String buildImage (DockerClient docker ) {
@@ -325,7 +326,8 @@ private String extractImageId() {
325
326
}
326
327
327
328
};
328
- docker .buildImageCmd (new File (dockerfile )).withTag (tag ).exec (resultCallback );
329
+ docker .buildImageCmd (new File (dockerfile ))
330
+ .withTags (new HashSet <String >(Arrays .asList (tag ))).exec (resultCallback );
329
331
String imageId = resultCallback .awaitImageId ();
330
332
return imageId ;
331
333
}
@@ -446,20 +448,7 @@ public void close() {
446
448
}
447
449
448
450
private static final class SpringBootDockerCmdExecFactory
449
- extends DockerCmdExecFactoryImpl {
450
-
451
- private SpringBootDockerCmdExecFactory () {
452
- withClientRequestFilters (new ClientRequestFilter () {
453
-
454
- @ Override
455
- public void filter (ClientRequestContext requestContext )
456
- throws IOException {
457
- // Workaround for https://go-review.googlesource.com/#/c/3821/
458
- requestContext .getHeaders ().add ("Connection" , "close" );
459
- }
460
-
461
- });
462
- }
451
+ extends JerseyDockerCmdExecFactory {
463
452
464
453
private CopyToContainerCmdExec createCopyToContainerCmdExec () {
465
454
return new CopyToContainerCmdExec (getBaseResource (), getDockerClientConfig ());
0 commit comments