Coder Social home page Coder Social logo

docker-it-scala's People

Contributors

alari avatar bjgbeelen avatar clintfred avatar dayyan avatar fokot avatar gitter-badger avatar hughsimpson avatar idarlington avatar jpthomasset avatar kapkaev avatar knservis avatar manuelbernhardt avatar mayman avatar mdotson avatar note avatar notxcain avatar oripwk avatar patwhite avatar pfcoperez avatar philippus avatar ricogit avatar rolandjohann avatar scubacabra avatar snadorp avatar spockz avatar sullis avatar viktortnk avatar xunguo1992 avatar yurikpanic avatar zhxiaogg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-it-scala's Issues

Library availability for scala 2.12

Is there a chance to get this compiled and uploaded for scala 2.12?
I saw that 2.12 is added as cross compiled version, but so far it is not pushed to maven central.

Pushing ctrl-c during tests of my application needs Docker machine to be restarted

Within development, we often break running tests simply by ctrl-c. It seems to me that docker-it-scala is not able to cope with this - I need to restart the docker container if I do this.

I wonder if this is "by design" or that there's nothing docker-it-scala can do about this, or if it is a bug that could be fixed? It is likely pushing me away from using docker-it-scala and simply running the services needed locally.

System: OS X, docker-machine 0.6.0, tests are using Kafka 0.9.0.1

Unable to provide a DockerFactory for 0.9.0-RC3

I've used docker-it-scala before, and now coming back I'm not able to get all the bits together.

What's changed is I'm using Scala 2.12 and I wish to continue doing so. So we're talking about the 0.9.0-RC3 (current master) version.

I define my test as:

class SomeTest extends FlatSpec with Matchers with DockerSomeService with DockerTestKit {

Where and how should I define the implicit def dockerFactory: DockerFactory that DockerKit needs?

There are two: Docker-java and the Spotify client. I'm running docker-machine on macOS and would like things "just to work".

Thanks for pointers.

tests fail

Using OS X 10.10.5, with Homebrew, on commit 8c00ec7

Hardware: mid-2015 Macbook Pro (16GB RAM, 2,7GHz Core i5)

$ docker --version
Docker version 1.9.1, build a34a1d5
$ docker-machine ls
NAME      ACTIVE   URL          STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                                       Unknown   
nginx     -        virtualbox   Stopped                                       Unknown   
temp      *        virtualbox   Running   tcp://192.168.99.101:2376           v1.10.0   
ubuntu    -        virtualbox   Saved                                         Unknown   

Some of the tests are failing, for timeout or other reasons.

Is this normal? Could we do something to make the tests pass?

AllAtOnceSpec FAIL “Cannot run all required containers” (some timeout of 20 secs was met, at least twice) 
CassandraServiceSpec PASS
DockerServiceSpec FAIL (“true was not equal to false (DockerServiceSpec.scala:30”)
ElasticsearchServiceSpec FAIL “Cannot run all required containers” (some timeout of 20 secs was met)
KafkaServiceSpec FAIL “Cannot run all required containers” (“Bind for 0.0.0.0:9092 failed: port is already allocated”)
MongodbServiceSpec PASS
Neo4jServiceSpec FAIL “Cannot run all required containers” (some timeout of 20 secs was met)
PostgresServiceSpec PASS
ZookeeperServiceSpec PASS

If you want to see logs, I can attach them to this ticket. I would suggest looking at one of the failing tests above, at a time.

I ran the tests by:

$ sbt
...
> testOnly *CassandraServiceSpec

specs2 MongodbServiceSpec failing

since upgrading docker to version 1.12 broke our old version of docker-it-scala we upgraded to 0.9.0-M5, but then our testcases wouldnt perforn properly. so i downloadsed your repo and tried running
test-only com.whisk.docker.MongodbServiceSpec
in project scalatest this works fine, but in project specs2 i get the following output:

17:16:53.298 [pool-2-thread-1] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: ListImagesCmdImpl[imageNameFilter=<null>,showAll=false,filters=com.github.dockerjava.core.util.FiltersBuilder@0,execution=com.github.dockerjava.jaxrs.ListImagesCmdExec@362a9f7d]
17:16:53.570 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 1 * Sending client request on thread pool-2-thread-1
1 > GET unix://localhost:80/images/json
1 > Accept: application/json

17:16:53.587 [pool-2-thread-1] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: default
17:16:53.592 [pool-2-thread-1] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
17:16:53.593 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection request: [route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:53.602 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection leased: [id: 0][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:53.603 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {}->unix://localhost:80
17:16:53.610 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connecting to localhost/127.0.0.1:80
17:16:53.610 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connection established 
17:16:53.610 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request GET /images/json HTTP/1.1
17:16:53.611 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
17:16:53.611 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> GET /images/json HTTP/1.1
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept: application/json
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: localhost:80
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "GET /images/json HTTP/1.1[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "Accept: application/json[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: localhost:80[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
17:16:53.612 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "Server: Docker/1.12.1 (linux)[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Mon, 29 Aug 2016 15:16:53 GMT[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "Transfer-Encoding: chunked[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
17:16:53.655 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "1e4b[\r][\n]"
17:16:53.656 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "[{"Id":"sha256:ddb795388d57a4e04872558c9bf9a8a16bd0fd86421575daadedc80ad4492db5","ParentId":"","RepoTags":["elasticsearch:2.3.5"],"RepoDigests":["elasticsearch@sha256:6eecc2f2878a05bfc7a8f01e2b8f2f2ce8e5c3adb0799c8ef15248dbf1bb7815"],"Created":1470936135,"Size":345113199,"VirtualSize":345113199,"Labels":{}},{"Id":"sha256:ed220e379f1eeb5b5dbba86ddd23c830bbf24c29ea99b5c8aa46fe2710acf734","ParentId":"sha256:6bfb5131e38684aa353b6ffe51d69cef0d6e1fde50625424e38e970cdff0b774","RepoTags":["es-shield:1.0"],"RepoDigests":null,"Created":1468959314,"Size":355165793,"VirtualSize":355165793,"Labels":{}},{"Id":"sha256:d4d272b96f89c39aaee981a0b56a3a422cce0f16d734321b74e68bd2c7c262af","ParentId":"sha256:2b9d3765d8b5da2e2c34b49d8626a2a3b463fe32066c55d2eeb5d4bd796a8927","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1468958672,"Size":349241274,"VirtualSize":349241274,"Labels":{}},{"Id":"sha256:30356cbdb796d69c48bda9c24c05b2374b25bfaa7b7f81827fc4312e5cbd7c2e","ParentId":"sha256:d0390797eb4feaa966b5e4e0dfecf02e509ead64bfd8ab03dc42965447a0c1eb","RepoTags":["es2.3.4:latest"],"RepoDigests":null,"Created":1468953788,"Size":349238516,"VirtualSize":349238516,"Labels":{}},{"Id":"sha256:d0390797eb4feaa966b5e4e0dfecf02e509ead64bfd8ab03dc42965447a0c1eb","ParentId":"","RepoTags":["elasticsearch:latest"],"RepoDigests":null,"Created":1468002008,"Size":346568958,"VirtualSize":346568958,"Labels":{}},{"Id":"sha256:6f609da577b75550c2bc0675b8bac417e6562ea3194df0ead08a7df396dfecdc","ParentId":"sha256:630e66eb99f9115fefe3d874992b79a2bed9ba80a38ab83535eccba373fb94b2","RepoTags":["elasticsearch:2.1.1"],"RepoDigests":null,"Created":1453855490,"Size":345683838,"VirtualSize":345683838,"Labels":null},{"Id":"sha256:3876b81b5a81678926c601cd842040a69eb0456d295cd395e7a895a416cf7d91","ParentId":"sha256:039f1bb3922f20162d1f2e43dc308a21fb975eed0990f31fedd0cc19b4e335ab","RepoTags":["ubuntu:latest"],"RepoDigests":null,"Created":1453246284,"Size":187899635,"VirtualSize":187899635,"Labels":null},{"Id":"sha256:a7851fd94c37b8f0cfb6967cd816ee1a20f24eb417e7a2dbb69b076999964301","ParentId":"sha256:142d8d56d459f0988169a741b1d668c6c7b1ffd8896c595c910514c6d0478b8b","RepoTags":["msi/connection:latest"],"RepoDigests":null,"Created":1452600982,"Size":900832501,"VirtualSize":900832501,"Labels":{}},{"Id":"sha256:510fce1feea623a281610a0299b08069a5deb3b3f8ca2ebff282cf0135e5a3cb","ParentId":"sha256:fcd80bf465c39b74ad310e57c60773baf7d997a7c6be695675c258cbe3754769","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452600367,"Size":900887155,"VirtualSize":900887155,"Labels":{}},{"Id":"sha256:9ec317cd6c438ef4f0661548308670fba7255e817d9954aefd63d94129a7494f","ParentId":"sha256:7b6e796afe1f41071a1ebbf9d7773af331ef853515e979734a44120be6ab70dc","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452599845,"Size":900887155,"VirtualSize":900887155,"Labels":{}},{"Id":"sha256:48d67f95300babd5db06b6181fb86ea2dd730ab7cff956acbcacec50707d4a97","ParentId":"sha256:95cc6c7b2f17b13e3a6f9f87e8194b2ae708ebf085241b497654fa65f38a9e69","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452596809,"Size":900887166,"VirtualSize":900887166,"Labels":{}},{"Id":"sha256:8c23db7050540e897c86ff0c649570a118fa0a84077088c6ca4dac6e3a6791b7","ParentId":"sha256:ad65b3079e8a72ebc8d62af03aaab198e268d43ca0b9f6a06b7fe0e6474776ca","RepoTags":["msi-query:latest"],"RepoDigests":null,"Created":1452523805,"Size":861553324,"VirtualSize":861553324,"Labels":{}},{"Id":"sha256:f0a779266d01512d2a1a928531e74766fb253edeba45809c4f082e8ec5d50670","ParentId":"sha256:fbcb4f6b2a05b3482f311725745bff9007e325004c3f7ae1dd35bc58df06842e","RepoTags":["msi-info:latest"],"RepoDigests":null,"Created":1452511923,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:aff1c503c5ae44588158601df6dbc12ac044ddc432e0fc4dcd55ac4502bd06b3","ParentId":"sha256:68b41e093d639bf96421ef8f7c640c81191e69afb07e92071c2b26873150bb65","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511800,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:2a1cb85d51d8831abc3c859ffc859f12a97ec2d45a8cd24b7001cc517c8efaf5","ParentId":"sha256:0d28d2a93f221c95db4a2dcbc830a4058735581edaa8219727923b11f7ba727a","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511725,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:78b1afc6b25453b60f6ad6318fa22a01dcbb89bac927276874b5158bb67bdf06","ParentId":"sha256:0d28d2a93f221c95db4a2dcbc830a4058735581edaa8219727923b11f7ba727a","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511493,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:ada7b3b8f9b03a2418182ea336856b30d6ff6c1ae5fa9bde8704672aac7b205c","ParentId":"sha256:0a6a6fa19905c53909d919d5d93529130eef2b291b1e23ce2e82ee5a668d3a2f","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511210,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:449ae9f0214d9fb31831543584a239c4f966e2c3e46c39cc3456c8d6ae73f116","ParentId":"sha256:b3159ed82ec992c87cfd286ce47980c29659dcd75863dec12d32c71c700394db","RepoTags":["msi/router:latest"],"RepoDigests":null,"Created":1449248273,"Size":738597082,"VirtualSize":738597082,"Labels":{}},{"Id":"sha256:45f71c6a133a1dc402cccf8a70cceb59fbead6d4865c106771c911c6c8c8d2c1","ParentId":"sha256:0c54db27bc09d2b675b119c6cd941cb9aa0a99dafb332e49cf8abc0ca0f4e783","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1446040620,"Size":524163635,"VirtualSize":524163635,"Labels":null},{"Id":"sha256:d542fb2378f28bceb495b6d2fdc376b1efb818ee40481274b90e21a8a2a442ae","ParentId":"sha256:bdc26345194feed9f315ffc97f696099d69901c3679951aff7df01fe2dae0de2","RepoTags":["java:8-jre"],"RepoDigests":null,"Created":1445668455,"Size":487598409,"VirtualSize":487598409,"Labels":null},{"Id":"sha256:fb2b3141e5110ce593a7303e2cb54544e78a83270eca86d1f2e65d02062d53c4","ParentId":"sha256:09e3bba8b0606384b923baedb03e5da655c73cf7c5497707d5550e2a4c7087d1","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1445322162,"Size":357092544,"VirtualSize":357092544,"Labels":null},{"Id":"sha256:03e046b4ffb94f437454f570c57c4635d63564b0261da2a9fd99936227408991","ParentId":"","RepoTags":["mongo:3.0.6"],"RepoDigests":["mongo@sha256:ab81e6f788788ef41b514da8352a0c06f47735f540d9a4d80b7f4436fbc563c3"],"Created":1444343134,"Size":261258830,"VirtualSize":261258830,"Labels":null},{"Id":"sha256:42014923291599c0ad9c1da557285d1a4d3c096dd9fbbb346189101931507640","ParentId":"sha256:55cf380dce7862cd7d6a4c793c08eef92282ad340302b5e89ff1a041f40cad85","RepoTags":["elasticsearch:1.7.1"],"RepoDigests":null,"Created":1441889674,"Size":522057737,"VirtualSize":522057737,"Labels":{}},{"Id":"sha256:1ad084004a05c1b41cccf7a6565fdcaedfb1888008dc2932a0d9fc3db4086d43","ParentId":"sha256:923d03bb54054411c7ec68e5a78a1b245d618e85172416757cd0b40d3015b6d4","RepoTags":["doreg.ytrailize.com:5000/oracle-java8:latest"],"RepoDigests":null,"Created":1434615254,"Size":650379473,"VirtualSize":650379473,"Labels":{}},{"Id":"sha256:0ebda6c3e27671a85d7438ceabdba098212634222f6a43f25e6c81e10f2b5094","ParentId":"sha256:c9fc0af95dc6e412dffd368623ca0a5b50206c62e3d0ce3acaff3eea2e7407d0","RepoTags":["hello-world:latest"],"RepoDigests":null,"Created":1429308098,"Size":910,"VirtualSize":910,"Labels":{}}][\n]"
17:16:53.656 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
17:16:53.656 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "0[\r][\n]"
17:16:53.656 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
17:16:53.658 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
17:16:53.658 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: application/json
17:16:53.658 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 << Server: Docker/1.12.1 (linux)
17:16:53.658 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Mon, 29 Aug 2016 15:16:53 GMT
17:16:53.658 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-0 << Transfer-Encoding: chunked
17:16:53.660 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
17:16:53.667 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 2 * Client response received on thread pool-2-thread-1
2 < 200
2 < Content-Length: -1
2 < Content-Type: application/json
2 < Date: Mon, 29 Aug 2016 15:16:53 GMT
2 < Server: Docker/1.12.1 (linux)
2 < Transfer-Encoding: chunked
[{"Id":"sha256:ddb795388d57a4e04872558c9bf9a8a16bd0fd86421575daadedc80ad4492db5","ParentId":"","RepoTags":["elasticsearch:2.3.5"],"RepoDigests":["elasticsearch@sha256:6eecc2f2878a05bfc7a8f01e2b8f2f2ce8e5c3adb0799c8ef15248dbf1bb7815"],"Created":1470936135,"Size":345113199,"VirtualSize":345113199,"Labels":{}},{"Id":"sha256:ed220e379f1eeb5b5dbba86ddd23c830bbf24c29ea99b5c8aa46fe2710acf734","ParentId":"sha256:6bfb5131e38684aa353b6ffe51d69cef0d6e1fde50625424e38e970cdff0b774","RepoTags":["es-shield:1.0"],"RepoDigests":null,"Created":1468959314,"Size":355165793,"VirtualSize":355165793,"Labels":{}},{"Id":"sha256:d4d272b96f89c39aaee981a0b56a3a422cce0f16d734321b74e68bd2c7c262af","ParentId":"sha256:2b9d3765d8b5da2e2c34b49d8626a2a3b463fe32066c55d2eeb5d4bd796a8927","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1468958672,"Size":349241274,"VirtualSize":349241274,"Labels":{}},{"Id":"sha256:30356cbdb796d69c48bda9c24c05b2374b25bfaa7b7f81827fc4312e5cbd7c2e","ParentId":"sha256:d0390797eb4feaa966b5e4e0dfecf02e509ead64bfd8ab03dc42965447a0c1eb","RepoTags":["es2.3.4:latest"],"RepoDigests":null,"Created":1468953788,"Size":349238516,"VirtualSize":349238516,"Labels":{}},{"Id":"sha256:d0390797eb4feaa966b5e4e0dfecf02e509ead64bfd8ab03dc42965447a0c1eb","ParentId":"","RepoTags":["elasticsearch:latest"],"RepoDigests":null,"Created":1468002008,"Size":346568958,"VirtualSize":346568958,"Labels":{}},{"Id":"sha256:6f609da577b75550c2bc0675b8bac417e6562ea3194df0ead08a7df396dfecdc","ParentId":"sha256:630e66eb99f9115fefe3d874992b79a2bed9ba80a38ab83535eccba373fb94b2","RepoTags":["elasticsearch:2.1.1"],"RepoDigests":null,"Created":1453855490,"Size":345683838,"VirtualSize":345683838,"Labels":null},{"Id":"sha256:3876b81b5a81678926c601cd842040a69eb0456d295cd395e7a895a416cf7d91","ParentId":"sha256:039f1bb3922f20162d1f2e43dc308a21fb975eed0990f31fedd0cc19b4e335ab","RepoTags":["ubuntu:latest"],"RepoDigests":null,"Created":1453246284,"Size":187899635,"VirtualSize":187899635,"Labels":null},{"Id":"sha256:a7851fd94c37b8f0cfb6967cd816ee1a20f24eb417e7a2dbb69b076999964301","ParentId":"sha256:142d8d56d459f0988169a741b1d668c6c7b1ffd8896c595c910514c6d0478b8b","RepoTags":["msi/connection:latest"],"RepoDigests":null,"Created":1452600982,"Size":900832501,"VirtualSize":900832501,"Labels":{}},{"Id":"sha256:510fce1feea623a281610a0299b08069a5deb3b3f8ca2ebff282cf0135e5a3cb","ParentId":"sha256:fcd80bf465c39b74ad310e57c60773baf7d997a7c6be695675c258cbe3754769","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452600367,"Size":900887155,"VirtualSize":900887155,"Labels":{}},{"Id":"sha256:9ec317cd6c438ef4f0661548308670fba7255e817d9954aefd63d94129a7494f","ParentId":"sha256:7b6e796afe1f41071a1ebbf9d7773af331ef853515e979734a44120be6ab70dc","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452599845,"Size":900887155,"VirtualSize":900887155,"Labels":{}},{"Id":"sha256:48d67f95300babd5db06b6181fb86ea2dd730ab7cff956acbcacec50707d4a97","ParentId":"sha256:95cc6c7b2f17b13e3a6f9f87e8194b2ae708ebf085241b497654fa65f38a9e69","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452596809,"Size":900887166,"VirtualSize":900887166,"Labels":{}},{"Id":"sha256:8c23db7050540e897c86ff0c649570a118fa0a84077088c6ca4dac6e3a6791b7","ParentId":"sha256:ad65b3079e8a72ebc8d62af03aaab198e268d43ca0b9f6a06b7fe0e6474776ca","RepoTags":["msi-query:latest"],"RepoDigests":null,"Created":1452523805,"Size":861553324,"VirtualSize":861553324,"Labels":{}},{"Id":"sha256:f0a779266d01512d2a1a928531e74766fb253edeba45809c4f082e8ec5d50670","ParentId":"sha256:fbcb4f6b2a05b3482f311725745bff9007e325004c3f7ae1dd35bc58df06842e","RepoTags":["msi-info:latest"],"RepoDigests":null,"Created":1452511923,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:aff1c503c5ae44588158601df6dbc12ac044ddc432e0fc4dcd55ac4502bd06b3","ParentId":"sha256:68b41e093d639bf96421ef8f7c640c81191e69afb07e92071c2b26873150bb65","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511800,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:2a1cb85d51d8831abc3c859ffc859f12a97ec2d45a8cd24b7001cc517c8efaf5","ParentId":"sha256:0d28d2a93f221c95db4a2dcbc830a4058735581edaa8219727923b11f7ba727a","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511725,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:78b1afc6b25453b60f6ad6318fa22a01dcbb89bac927276874b5158bb67bdf06","ParentId":"sha256:0d28d2a93f221c95db4a2dcbc830a4058735581edaa8219727923b11f7ba727a","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511493,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:ada7b3b8f9b03a2418182ea336856b30d6ff6c1ae5fa9bde8704672aac7b205c","ParentId":"sha256:0a6a6fa19905c53909d919d5d93529130eef2b291b1e23ce2e82ee5a668d3a2f","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1452511210,"Size":735806942,"VirtualSize":735806942,"Labels":{}},{"Id":"sha256:449ae9f0214d9fb31831543584a239c4f966e2c3e46c39cc3456c8d6ae73f116","ParentId":"sha256:b3159ed82ec992c87cfd286ce47980c29659dcd75863dec12d32c71c700394db","RepoTags":["msi/router:latest"],"RepoDigests":null,"Created":1449248273,"Size":738597082,"VirtualSize":738597082,"Labels":{}},{"Id":"sha256:45f71c6a133a1dc402cccf8a70cceb59fbead6d4865c106771c911c6c8c8d2c1","ParentId":"sha256:0c54db27bc09d2b675b119c6cd941cb9aa0a99dafb332e49cf8abc0ca0f4e783","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1446040620,"Size":524163635,"VirtualSize":524163635,"Labels":null},{"Id":"sha256:d542fb2378f28bceb495b6d2fdc376b1efb818ee40481274b90e21a8a2a442ae","ParentId":"sha256:bdc26345194feed9f315ffc97f696099d69901c3679951aff7df01fe2dae0de2","RepoTags":["java:8-jre"],"RepoDigests":null,"Created":1445668455,"Size":487598409,"VirtualSize":487598409,"Labels":null},{"Id":"sha256:fb2b3141e5110ce593a7303e2cb54544e78a83270eca86d1f2e65d02062d53c4","ParentId":"sha256:09e3bba8b0606384b923baedb03e5da655c73cf7c5497707d5550e2a4c7087d1","RepoTags":["\u003cnone\u003e:\u003cnone\u003e"],"RepoDigests":["\u003cnone\u003e@\u003cnone\u003e"],"Created":1445322162,"Size":357092544,"VirtualSize":357092544,"Labels":null},{"Id":"sha256:03e046b4ffb94f437454f570c57c4635d63564b0261da2a9fd99936227408991","ParentId":"","RepoTags":["mongo:3.0.6"],"RepoDigests":["mongo@sha256:ab81e6f788788ef41b514da8352a0c06f47735f540d9a4d80b7f4436fbc563c3"],"Created":1444343134,"Size":261258830,"VirtualSize":261258830,"Labels":null},{"Id":"sha256:42014923291599c0ad9c1da557285d1a4d3c096dd9fbbb346189101931507640","ParentId":"sha256:55cf380dce7862cd7d6a4c793c08eef92282ad340302b5e89ff1a041f40cad85","RepoTags":["elasticsearch:1.7.1"],"RepoDigests":null,"Created":1441889674,"Size":522057737,"VirtualSize":522057737,"Labels":{}},{"Id":"sha256:1ad084004a05c1b41cccf7a6565fdcaedfb1888008dc2932a0d9fc3db4086d43","ParentId":"sha256:923d03bb54054411c7ec68e5a78a1b245d618e85172416757cd0b40d3015b6d4","RepoTags":["doreg.ytrailize.com:5000/oracle-java8:latest"],"RepoDigests":null,"Created":1434615254,"Size":650379473,"VirtualSize":650379473,"Labels":{}},{"Id":"sha256:0ebda6c3e27671a85d7438ceabdba098212634222f6a43f25e6c81e10f2b5094","ParentId":"sha256:c9fc0af95dc6e412dffd368623ca0a5b50206c62e3d0ce3acaff3eea2e7407d0","RepoTags":["hello-world:latest"],"RepoDigests":null,"Created":1429308098,"Size":910,"VirtualSize":910,"Labels":{}}]


17:16:53.817 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-0: Shutdown connection
17:16:53.817 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Connection discarded
17:16:53.817 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
17:16:53.817 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 0][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:53.842 [pool-2-thread-2] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: com.github.dockerjava.core.command.CreateContainerCmdImpl@25eb7033[name=<null>,hostName=<null>,domainName=<null>,user=<null>,attachStdin=<null>,attachStdout=<null>,attachStderr=<null>,portSpecs={27017},tty=false,stdinOpen=false,stdInOnce=<null>,env={},cmd={mongod,--nojournal,--smallfiles,--syncdelay,0},entrypoint=<null>,image=mongo:3.0.6,volumes=com.github.dockerjava.api.model.Volumes@48b3ea31,workingDir=<null>,macAddress=<null>,networkDisabled=<null>,exposedPorts=com.github.dockerjava.api.model.ExposedPorts@a33d5a8,stopSignal=<null>,hostConfig=com.github.dockerjava.api.model.HostConfig@1280fc29[binds=com.github.dockerjava.api.model.Binds@da1019,blkioWeight=<null>,blkioWeightDevice=<null>,blkioDeviceReadBps=<null>,blkioDeviceReadIOps=<null>,blkioDeviceWriteBps=<null>,blkioDeviceWriteIOps=<null>,memorySwappiness=<null>,capAdd=<null>,capDrop=<null>,containerIDFile=<null>,cpuPeriod=<null>,cpuShares=<null>,cpuQuota=<null>,cpusetCpus=<null>,cpusetMems=<null>,devices=<null>,dns=<null>,dnsSearch=<null>,extraHosts=<null>,links=<null>,logConfig=<null>,lxcConf=<null>,memory=<null>,memorySwap=<null>,memoryReservation=<null>,kernelMemory=<null>,networkMode=<null>,oomKillDisable=<null>,oomScoreAdj=<null>,portBindings={27017/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@782bd8ff},privileged=<null>,publishAllPorts=<null>,readonlyRootfs=<null>,restartPolicy=<null>,ulimits=<null>,volumesFrom=<null>,pidMode=<null>,securityOpts=<null>,cgroupParent=<null>,volumeDriver=<null>,shmSize=<null>],labels=<null>,networkingConfig=<null>,ipv4Address=<null>,ipv6Address=<null>,aliases=<null>,execution=com.github.dockerjava.jaxrs.CreateContainerCmdExec@74e080e0]
17:16:53.851 [pool-2-thread-2] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: default
17:16:53.851 [pool-2-thread-2] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
17:16:53.852 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection request: [route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:53.852 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection leased: [id: 1][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {}->unix://localhost:80
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connecting to localhost/127.0.0.1:80
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connection established 
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request POST /containers/create HTTP/1.1
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
17:16:53.852 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> POST /containers/create HTTP/1.1
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Accept: application/json
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Content-Type: application/json
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Transfer-Encoding: chunked
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Host: localhost:80
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Connection: Keep-Alive
17:16:53.852 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 >> Accept-Encoding: gzip,deflate
17:16:53.902 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 3 * Sending client request on thread pool-2-thread-2
3 > POST unix://localhost:80/containers/create
3 > Accept: application/json
3 > Content-Type: application/json
{"PortSpecs":["27017"],"Tty":false,"OpenStdin":false,"Env":[],"Cmd":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"Image":"mongo:3.0.6","Volumes":{},"ExposedPorts":{"27017/tcp":{}},"HostConfig":{"Binds":[],"PortBindings":{"27017/tcp":[{"HostIp":"","HostPort":""}]}}}

17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "POST /containers/create HTTP/1.1[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept: application/json[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Content-Type: application/json[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Transfer-Encoding: chunked[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Host: localhost:80[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Connection: Keep-Alive[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept-Encoding: gzip,deflate[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "116[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "{"PortSpecs":["27017"],"Tty":false,"OpenStdin":false,"Env":[],"Cmd":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"Image":"mongo:3.0.6","Volumes":{},"ExposedPorts":{"27017/tcp":{}},"HostConfig":{"Binds":[],"PortBindings":{"27017/tcp":[{"HostIp":"","HostPort":""}]}}}[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "0[\r][\n]"
17:16:53.902 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "HTTP/1.1 201 Created[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Type: application/json[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "Server: Docker/1.12.1 (linux)[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "Date: Mon, 29 Aug 2016 15:16:54 GMT[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Length: 90[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-1 << "{"Id":"0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b","Warnings":null}[\n]"
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 201 Created
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Type: application/json
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 << Server: Docker/1.12.1 (linux)
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 << Date: Mon, 29 Aug 2016 15:16:54 GMT
17:16:54.275 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Length: 90
17:16:54.275 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
17:16:54.276 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 4 * Client response received on thread pool-2-thread-2
4 < 201
4 < Content-Length: 90
4 < Content-Type: application/json
4 < Date: Mon, 29 Aug 2016 15:16:54 GMT
4 < Server: Docker/1.12.1 (linux)
{"Id":"0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b","Warnings":null}


17:16:54.277 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-1: Shutdown connection
17:16:54.277 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Connection discarded
17:16:54.277 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-1: Close connection
17:16:54.277 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 1][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:54.280 [pool-2-thread-1] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: 0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b,com.github.dockerjava.jaxrs.StartContainerCmdExec@5bfb45aa
17:16:54.285 [pool-2-thread-1] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: default
17:16:54.285 [pool-2-thread-1] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
17:16:54.285 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection request: [route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:54.285 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection leased: [id: 2][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:54.285 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {}->unix://localhost:80
17:16:54.286 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connecting to localhost/127.0.0.1:80
17:16:54.286 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connection established 
17:16:54.286 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request POST /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/start HTTP/1.1
17:16:54.286 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
17:16:54.286 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
17:16:54.286 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> POST /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/start HTTP/1.1
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Accept: application/json
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Content-Type: application/json
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Transfer-Encoding: chunked
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Host: localhost:80
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Connection: Keep-Alive
17:16:54.287 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 >> Accept-Encoding: gzip,deflate
17:16:54.287 [pool-2-thread-2] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: 0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b,false,com.github.dockerjava.jaxrs.InspectContainerCmdExec@52c023df
17:16:54.288 [pool-2-thread-2] DEBUG c.g.d.jaxrs.InspectContainerCmdExec - GET: JerseyWebTarget { unix://localhost:80/containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/json }
17:16:54.289 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 5 * Sending client request on thread pool-2-thread-1
5 > POST unix://localhost:80/containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/start
5 > Accept: application/json
5 > Content-Type: application/json
{}

17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "POST /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/start HTTP/1.1[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Accept: application/json[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Content-Type: application/json[\r][\n]"
17:16:54.289 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 6 * Sending client request on thread pool-2-thread-2
6 > GET unix://localhost:80/containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/json
6 > Accept: application/json

17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Transfer-Encoding: chunked[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Host: localhost:80[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Connection: Keep-Alive[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "Accept-Encoding: gzip,deflate[\r][\n]"
17:16:54.289 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "[\r][\n]"
17:16:54.289 [pool-2-thread-2] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: default
17:16:54.290 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "2[\r][\n]"
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
17:16:54.290 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "{}[\r][\n]"
17:16:54.290 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection request: [route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:54.290 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "0[\r][\n]"
17:16:54.290 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection leased: [id: 3][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 2 of 2; total allocated: 2 of 20]
17:16:54.290 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 >> "[\r][\n]"
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {}->unix://localhost:80
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connecting to localhost/127.0.0.1:80
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connection established 
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/json HTTP/1.1
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
17:16:54.290 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/json HTTP/1.1
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> Accept: application/json
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> Host: localhost:80
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> Connection: Keep-Alive
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 >> Accept-Encoding: gzip,deflate
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/json HTTP/1.1[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "Accept: application/json[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "Host: localhost:80[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "Connection: Keep-Alive[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "Accept-Encoding: gzip,deflate[\r][\n]"
17:16:54.291 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 >> "[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "HTTP/1.1 400 Bad Request[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "Content-Type: application/json[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "Server: Docker/1.12.1 (linux)[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "Date: Mon, 29 Aug 2016 15:16:54 GMT[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "Content-Length: 97[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "[\r][\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.wire - http-outgoing-2 << "{"message":"starting container with HostConfig was deprecated since v1.10 and removed in v1.12"}[\n]"
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 << HTTP/1.1 400 Bad Request
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 << Content-Type: application/json
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 << Server: Docker/1.12.1 (linux)
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 << Date: Mon, 29 Aug 2016 15:16:54 GMT
17:16:54.291 [pool-2-thread-1] DEBUG org.apache.http.headers - http-outgoing-2 << Content-Length: 97
17:16:54.291 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "HTTP/1.1 200 OK[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "Content-Type: application/json[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "Server: Docker/1.12.1 (linux)[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "Date: Mon, 29 Aug 2016 15:16:54 GMT[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "Transfer-Encoding: chunked[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "[\r][\n]"
17:16:54.293 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "c8f[\r][\n]"
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "{"Id":"0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b","Created":"2016-08-29T15:16:53.903588112Z","Path":"/entrypoint.sh","Args":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"State":{"Status":"created","Running":false,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":0,"ExitCode":0,"Error":"","StartedAt":"0001-01-01T00:00:00Z","FinishedAt":"0001-01-01T00:00:00Z"},"Image":"sha256:03e046b4ffb94f437454f570c57c4635d63564b0261da2a9fd99936227408991","ResolvConfPath":"","HostnamePath":"","HostsPath":"","LogPath":"","Name":"/condescending_goodall","RestartCount":0,"Driver":"aufs","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","ExecIDs":null,"HostConfig":{"Binds":[],"ContainerIDFile":"","LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default","PortBindings":{"27017/tcp":[{"HostIp":"","HostPort":""}]},"RestartPolicy":{"Name":"","MaximumRetryCount":0},"AutoRemove":false,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"Dns":null,"DnsOptions":null,"DnsSearch":null,"ExtraHosts":null,"GroupAdd":null,"IpcMode":"","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":67108864,"Runtime":"runc","ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":null,"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpusetCpus":"","CpusetMems":"","Devices":null,"DiskQuota":0,"KernelMemory":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":-1,"OomKillDisable":false,"PidsLimit":0,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0},"GraphDriver":{"Name":"aufs","Data":null},"Mounts":[{"Name":"e81c7c24f398bf215aa3aa6e9e2087538d5f6829e9cc6f0ea4c24f2c5a16ab5d","Source":"/var/lib/docker/volumes/e81c7c24f398bf215aa3aa6e9e2087538d5f6829e9cc6f0ea4c24f2c5a16ab5d/_data","Destination":"/data/db","Driver":"local","Mode":"","RW":true,"Propagation":""}],"Config":{"Hostname":"0b2bfdbfd171","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"27017/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","MONGO_MAJOR=3.0","MONGO_VERSION=3.0.6"],"Cmd":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"Image":"mongo:3.0.6","Volumes":{"/data/db":{}},"WorkingDir":"","Entrypoint":["/entrypoint.sh"],"OnBuild":null,"Labels":{}},"NetworkSettings":{"Bridge":"","SandboxID":"","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Ports":null,"SandboxKey":"","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"EndpointID":"","Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","MacAddress":"","Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":""}}}}[\n]"
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "[\r][\n]"
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "0[\r][\n]"
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.wire - http-outgoing-3 << "[\r][\n]"
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 << HTTP/1.1 200 OK
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 << Content-Type: application/json
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 << Server: Docker/1.12.1 (linux)
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 << Date: Mon, 29 Aug 2016 15:16:54 GMT
17:16:54.294 [pool-2-thread-2] DEBUG org.apache.http.headers - http-outgoing-3 << Transfer-Encoding: chunked
17:16:54.294 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
17:16:54.294 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 7 * Client response received on thread pool-2-thread-2
7 < 200
7 < Content-Length: -1
7 < Content-Type: application/json
7 < Date: Mon, 29 Aug 2016 15:16:54 GMT
7 < Server: Docker/1.12.1 (linux)
7 < Transfer-Encoding: chunked
{"Id":"0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b","Created":"2016-08-29T15:16:53.903588112Z","Path":"/entrypoint.sh","Args":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"State":{"Status":"created","Running":false,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":0,"ExitCode":0,"Error":"","StartedAt":"0001-01-01T00:00:00Z","FinishedAt":"0001-01-01T00:00:00Z"},"Image":"sha256:03e046b4ffb94f437454f570c57c4635d63564b0261da2a9fd99936227408991","ResolvConfPath":"","HostnamePath":"","HostsPath":"","LogPath":"","Name":"/condescending_goodall","RestartCount":0,"Driver":"aufs","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","ExecIDs":null,"HostConfig":{"Binds":[],"ContainerIDFile":"","LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default","PortBindings":{"27017/tcp":[{"HostIp":"","HostPort":""}]},"RestartPolicy":{"Name":"","MaximumRetryCount":0},"AutoRemove":false,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"Dns":null,"DnsOptions":null,"DnsSearch":null,"ExtraHosts":null,"GroupAdd":null,"IpcMode":"","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":67108864,"Runtime":"runc","ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":null,"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpusetCpus":"","CpusetMems":"","Devices":null,"DiskQuota":0,"KernelMemory":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":-1,"OomKillDisable":false,"PidsLimit":0,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0},"GraphDriver":{"Name":"aufs","Data":null},"Mounts":[{"Name":"e81c7c24f398bf215aa3aa6e9e2087538d5f6829e9cc6f0ea4c24f2c5a16ab5d","Source":"/var/lib/docker/volumes/e81c7c24f398bf215aa3aa6e9e2087538d5f6829e9cc6f0ea4c24f2c5a16ab5d/_data","Destination":"/data/db","Driver":"local","Mode":"","RW":true,"Propagation":""}],"Config":{"Hostname":"0b2bfdbfd171","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"27017/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","MONGO_MAJOR=3.0","MONGO_VERSION=3.0.6"],"Cmd":["mongod","--nojournal","--smallfiles","--syncdelay","0"],"Image":"mongo:3.0.6","Volumes":{"/data/db":{}},"WorkingDir":"","Entrypoint":["/entrypoint.sh"],"OnBuild":null,"Labels":{}},"NetworkSettings":{"Bridge":"","SandboxID":"","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Ports":null,"SandboxKey":"","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"EndpointID":"","Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","MacAddress":"","Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":""}}}}


17:16:54.296 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-2: Shutdown connection
17:16:54.297 [pool-2-thread-1] DEBUG o.a.h.impl.execchain.MainClientExec - Connection discarded
17:16:54.297 [pool-2-thread-1] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-2: Close connection
17:16:54.297 [pool-2-thread-1] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 2][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:54.335 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-3: Shutdown connection
17:16:54.336 [pool-2-thread-2] DEBUG o.a.h.impl.execchain.MainClientExec - Connection discarded
17:16:54.336 [pool-2-thread-2] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-3: Close connection
17:16:54.336 [pool-2-thread-2] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 3][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:54.343 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 8 * Sending client request on thread dockerjava-jaxrs-async-0
8 > GET unix://localhost:80/containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/logs?stdout=true&stderr=true&follow=true

17:16:54.346 [dockerjava-jaxrs-async-0] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: default
17:16:54.348 [dockerjava-jaxrs-async-0] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
17:16:54.348 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection request: [route: {}->unix://localhost:80][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
17:16:54.348 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection leased: [id: 4][route: {}->unix://localhost:80][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:54.348 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {}->unix://localhost:80
17:16:54.348 [dockerjava-jaxrs-async-0] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connecting to localhost/127.0.0.1:80
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG o.a.h.i.c.DefaultHttpClientConnectionOperator - Connection established 
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/logs?stdout=true&stderr=true&follow=true HTTP/1.1
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/logs?stdout=true&stderr=true&follow=true HTTP/1.1
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Host: localhost:80
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Connection: Keep-Alive
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Accept-Encoding: gzip,deflate
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "GET /containers/0b2bfdbfd171ed3260d2d02feb2e334b825391a357fb8e35fb7caa6aaa59571b/logs?stdout=true&stderr=true&follow=true HTTP/1.1[\r][\n]"
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Host: localhost:80[\r][\n]"
17:16:54.349 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Connection: Keep-Alive[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Accept-Encoding: gzip,deflate[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "HTTP/1.1 200 OK[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Server: Docker/1.12.1 (linux)[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Date: Mon, 29 Aug 2016 15:16:54 GMT[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Content-Type: text/plain; charset=utf-8[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Transfer-Encoding: chunked[\r][\n]"
17:16:54.350 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "[\r][\n]"
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "0[\r][\n]"
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "[\r][\n]"
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << HTTP/1.1 200 OK
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Server: Docker/1.12.1 (linux)
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Date: Mon, 29 Aug 2016 15:16:54 GMT
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Content-Type: text/plain; charset=utf-8
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Transfer-Encoding: chunked
17:16:54.351 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
17:16:54.352 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection [id: 4][route: {}->unix://localhost:80] can be kept alive indefinitely
17:16:54.352 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 4][route: {}->unix://localhost:80][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
17:16:54.352 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 9 * Client response received on thread dockerjava-jaxrs-async-0
9 < 200
9 < Content-Length: -1
9 < Content-Type: application/json;charset=utf-8
9 < Date: Mon, 29 Aug 2016 15:16:54 GMT
9 < Server: Docker/1.12.1 (linux)
9 < Transfer-Encoding: chunked

17:17:13.848 [pool-1-thread-1] ERROR com.whisk.docker.MongodbServiceSpec - Exception during container initialization
java.util.concurrent.TimeoutException: Futures timed out after [20 seconds]

Docker for Mac

Recently started experimenting with the docker for mac beta. It uses a unix socket. It seems that docker-java cannot deal with unix socket connections on OSX.

Temporary workaround:

export DOCKER_HOST=tcp://docker.local:2375
export DOCKER_TLS_VERIFY=0

See discussion here: docker-java/docker-java#537

Support for org.specs2.mutable.Specification

I seems that current specs2 test kit only supports org.specs2.Specification

  import org.specs2.mutable.{BeforeAfter, Specification}

trait MutableDockerTestKit extends BeforeAfter with DockerKit {
  def before() = {
    startAllOrFail()
  }

  def after() = {
    stopAllQuietly()
  }
}

//in your test:
class InfluxDBSpec(env: Env) extends Specification{

  implicit val ee = env.executionEnv

  "The influxdb container" should{

    "be ready" in new MutableDockerTestKit with DockerInfluxDBService{

      influxdbContainer.isReady() must beTrue.await
    }

  }
}

Dependency graph initialization does not wait for readychecks

The current dependency graph initialization looks like this:

def initReadyAll(): Future[Seq[(DockerContainerState, Boolean)]] = {
  import DockerContainerManager._

  @tailrec
  def initGraph(
      graph: ContainerDependencyGraph,
      previousInits: Future[Seq[DockerContainerState]] = Future.successful(Seq.empty)
  ): Future[Seq[DockerContainerState]] = {
  val updatedInits = previousInits.flatMap { prev =>
    Future.traverse(graph.containers.map(dockerStatesMap))(_.init()).map(prev ++ _)
  }
  if (graph.dependants.isEmpty) updatedInits else initGraph(graph.dependants.get, updatedInits)
}

  initGraph(buildDependencyGraph(containers)).flatMap(Future.traverse(_) { c =>
    c.isReady().map(c -> _).recover {
      case e =>
        log.error(e.getMessage, e)
        c -> false
    }
  })
}

This does not wait for containers to become ready before moving onto the dependencies, specifically these lines:

def initGraph(
      graph: ContainerDependencyGraph,
      previousInits: Future[Seq[DockerContainerState]] = Future.successful(Seq.empty)
): Future[Seq[DockerContainerState]] = {
  val updatedInits = previousInits.flatMap { prev =>
    Future.traverse(graph.containers.map(dockerStatesMap))(_.init()).map(prev ++ _)
  }
  // this should wait for the updatedInits to complete before moving on
  if (graph.dependants.isEmpty) updatedInits else initGraph(graph.dependants.get, updatedInits)
}

This can cause issues, since many containers require for the dependent container to be ready before being initialized. For example, an application which runs database migrations on a database requires that the database is accepting connections. Another example is kafka depending on zookeeper to be available to register with it. In those examples, if the database migration app or kafka comes up before its dependency, the container will fail to initialize. This is a common issue when using docker-compose, which simply also initializes all containers with a similar dependency graph.

An implementation that would wait for dependent containers would look like this:

@tailrec
def initGraph(
    graph: ContainerDependencyGraph,
    previousInits: Future[Seq[DockerContainerState]] = Future.successful(Seq.empty)
): Future[Seq[DockerContainerState]] = {
  val updatedInits: Future[Seq[DockerContainerState]] = previousInits.flatMap { prev =>
    Future.traverse(graph.containers.map(dockerStatesMap))(_.init()).map(prev ++ _)
  }

  // waits for this "level" of the dependency graph to initialize before calling initGraph for the next level.
  graph.dependants match {
    case None => updatedInits
    case Some(dependents) =>
      val readyInits: Future[Seq[Future[Boolean]]] = updatedInits.map(initSeq => initSeq.map(_.isReady()))
      val simplifiedReadyInits: Future[Seq[Boolean]] = readyInits.flatMap(Future.sequence(_))
      val allReady: Future[Boolean] = simplifiedReadyInits.map(initsReady => initsReady.forall(_ == true))
      allReady.map { case false => log.error("At least one container was not ready") }
      initGraph(dependents, updatedInits)
  }
}

If people agree that this functionality is important, I can make a pull request to give the functionality, but I wanted to ask first before doing the work. Do we agree that this important functionality?

Cannot use ready checker and log line receiver together

Thanks for a great library!

I've found that I can use either withReadyChecker(DockerReadyChecker.LogLineContains("foo")) or withLogLineReceiver(LogLineReceiver(...)), but I can't use both at the same time. If I add the log line receiver then the ready checker never fires.

Is this expected?

Ideally I'd like to do the following:

  • use a ready checker to wait until the container outputs a certain line
  • use a log line receiver to write the container's output to a file for easy debugging after my tests complete

Existing release stopped working unexpectedly with NullPointerException

It's taken me a while to follow up on this but docker-it-scala has been causing my test suite serious problems. Since the last issue I raised a while ago, I managed to upgrade to 0.9.0-M2 and my tests were working, but at some indeterminate point after that they stopped working again, while still on 0.9.0-M2. Here's the error I'm getting:

Exception encountered when invoking run on a nested suite. *** ABORTED ***
  java.lang.NullPointerException:
  at scala.collection.mutable.WrappedArray$ofRef.length(WrappedArray.scala:125)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:97)
  at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47)
  at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
  at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
  at scala.collection.Iterator$class.foreach(Iterator.scala:727)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
  at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
  at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
  at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
  at com.whisk.docker.DockerJavaExecutor$$anonfun$listImages$1.apply(DockerJavaExecutor.scala:118)
  at com.whisk.docker.DockerJavaExecutor$$anonfun$listImages$1.apply(DockerJavaExecutor.scala:118)
  at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
  at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:745)

I've also tried updating to 0.9.0-M10 today, which, aside from being incompatible with M2 because of the introduction of the dockerFactory method in the DockerTestKit trait, and requiring an additional dependency without warning, failed with the same issue once I figured out where the dependency lived and what I had to do to fix the incompatibility issue (using the dockerjava impl).

I also tried the spotify impl, which gave me a different issue - NoClassDefErrors:

Exception in thread "pool-2-thread-2" java.lang.NoClassDefFoundError: com/spotify/docker/client/DockerClient$RemoveContainerParam
	at com.whisk.docker.impl.spotify.SpotifyDockerCommandExecutor$$anonfun$remove$1.apply$mcV$sp(SpotifyDockerCommandExecutor.scala:146)
	at com.whisk.docker.impl.spotify.SpotifyDockerCommandExecutor$$anonfun$remove$1.apply(SpotifyDockerCommandExecutor.scala:146)
	at com.whisk.docker.impl.spotify.SpotifyDockerCommandExecutor$$anonfun$remove$1.apply(SpotifyDockerCommandExecutor.scala:146)
	at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
	at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

I checked the docker daemon logs, which showed no docker activity in the period in which I was trying to run these tests, which suggests that the library broke before it got as far as instructing docker to do anything.

Any idea why this is happening? I'm fairly sure I'm not doing anything special or different here, which suggests it simply isn't working. I'm going to have a hunt through the stack trace and see if I can identify where that null is coming from now, but you'll note the stack trace is entirely within the library.

The spotify issue, being a NoClassDefFound issue, suggests a bad release? I notice you just released RC1, but it's so recent I wasn't able to fetch it from the central repository.

I'm on docker version 1.12.3, running natively in 64-bit fedora.

Zookeeper and Kafka link

I'm trying to run Kafka with Zookeeper like this:

  val KafkaAdvertisedPort = 9092
  val ZookeeperDefaultPort = 2181

  lazy val zookeeperContainer = DockerContainer("wurstmeister/zookeeper", Some("zookeeper"))
    .withPorts(ZookeeperDefaultPort -> Some(ZookeeperDefaultPort))
    .withReadyChecker(DockerReadyChecker.Always)

  lazy val kafkaContainer = DockerContainer("wurstmeister/kafka")
    .withLinks(ContainerLink(zookeeperContainer, "zookeeper"))
    .withPorts(KafkaAdvertisedPort -> Some(KafkaAdvertisedPort))
    .withEnv(
      s"KAFKA_ADVERTISED_HOST_NAME=0.0.0.0",
      s"KAFKA_ZOOKEEPER_CONNECT=zookeeper:$ZookeeperDefaultPort",
      "KAFKA_CREATE_TOPICS=screening-response:1:1,screening-request:1:1"
    )
    .withVolumes(VolumeMapping("/var/run/docker.sock", "/var/run/docker.sock", true) :: Nil)
//    .withReadyChecker(DockerReadyChecker.LogLineContains("kafka entered RUNNING state"))
    .withReadyChecker(DockerReadyChecker.LogLineContains("started (kafka.server.KafkaServer)"))

  abstract override def dockerContainers: List[DockerContainer] =
    zookeeperContainer :: kafkaContainer :: super.dockerContainers

Kafka always times out in connecting to zookeeper. I even set StartContainersTimeout to 60 seconds, didn't help. But running from docker-compose is without problem. What this an be?

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 0.0.0.0
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_CREATE_TOPICS: "screening-response:1:1,screening-request:1:1"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on: [zookeeper]

Cannot healthcheck mysql:5.6 image

I am trying to run mysql:5.6 image with health check, but it always fails. My code:

trait DockerMySqlService extends DockerKit {

val MySqlAdvertisedPort = 3306
val Database = "database"
val User = "user"
val Password = "password"

val mySqlContainer = DockerContainer("mysql:5.6")
  .withPorts((MySqlAdvertisedPort, Some(MySqlAdvertisedPort)))
  .withEnv(
    s"MYSQL_ALLOW_EMPTY_PASSWORD=yes",
    s"MYSQL_DATABASE=$Database",
    s"MYSQL_USER=$User",
    s"MYSQL_PASSWORD=$Password")
  .withReadyChecker(DockerReadyChecker.LogLineContains("MySQL entered RUNNING state"))


abstract override def dockerContainers: List[DockerContainer] =
  mySqlContainer :: super.dockerContainers

}

trait Bootstrapper extends DockerMySqlService {
startAllOrFail()
}

any ideas?

Missing support for docker run arguments

Hi,

How do I run the equivalent of this docker command?

docker run -p 4200:4200 -p 4300:4300 -p 5432:5432 --env CRATE_HEAP_SIZE=2g crate/crate:2.1.5 -Cnetwork.host=site

I am particularly interested in the last part, the ARGUMENTS: -Cnetwork.host=site ?

Thanks,
A

Working with Volumes

I haven't found any API to add volumes to container. Does it exist?

Also CreateContainerCmd of underlying java-api has much more options to configure, so maybe it's worth to give direct access to CreateContainerCmd from com.whisk.docker.DockerContainer ?

Postgres not ready

Hi, I'm using spotify docker client, official postgres image and docker checker from your example. Without that sleep slick is unable to connect to postgres.

class CatRepositorySlickTest extends Specification with DockerPostgresService with DockerTestKit {

  "should save things to db and read them" >> {  implicit ee: ExecutionEnv =>
    import scala.concurrent.duration._

    Await.result(isContainerReady(postgresContainer), 10.seconds)
    Thread.sleep(5000)

    <code working with postgres db>
 ....
}

Full code is here
https://github.com/fokot/docker-scala/blob/master/src/test/scala/fokot/docker/scala/service/CatRepositorySlickTest.scala

DockerReadyChecker.and not implemented correctly

Hello folks,

there is an issue with the implementation of DockerReadyChecker.and: it needs the implicit parameter ExecutionContext, but the default from DockerKit uses this.dockerContainers.length, which in turn needs all the containers (including ready checkers) to be configured. This results in a StackOverflowError.

Proposed solution: Implement DockerReadyChecker.and in terms of a combining class, something like

case class And(left: DockerReadyChecker, right: DockerReadyChecker) extends DockerReadyChecker { ... }

Cheers, Markus

P.S.: The same goes for or, naturally.

Support for tmpfs

This library is awesome for integration testing -- many thanks.

One thing that I have noticed is that most tests can run much faster if the docker tmpfs feature is used when running a container. For instance, on OSX one test went down from 40 seconds to 10 seconds when the database was run in tmpfs.

Using tmpfs is done through the HostConfig part of the docker API.

Would it be possible to support the tmpfs option in docker-it-scala?

Request: Obtainning IP address of a running container

It could be usefull sometimes not to map port to the host but use the container IP address directly to access the service exposed.
The problem I have is on my build & integration test server where several build can run at the same times resulting in conflict over the port mapped to the host. By not mapping port and using the container IP address directly would allow to have several instances of the same service available to the running jobs. Unfortunately I did not found a way using the docker-it-scala api to get a container IP address, only the mapped ports are available.

iptables Port `0' not valid

when I enable the withPorts in my Service or just using the provided services I get something like this:
(on a mac with docker-machine 0.5.0)

ERROR i.w.i.InfluxDBSpec$$anonfun$1$$anonfun$apply$1$$anon$1 - Exception during container initialization
com.github.dockerjava.api.InternalServerErrorException: Cannot start container c3aec38167be9a4f4b4f31f32e86674da19bae13395f486d1fd39555a4af7162: failed to create endpoint admiring_swirles on network bridge: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 32821 -j DNAT --to-destination 172.17.0.3:0 ! -i docker0: iptables v1.4.21: Port `0' not valid

Try `iptables -h' or 'iptables --help' for more information.
 (exit status 2)

    at com.github.dockerjava.core.util.ResponseStatusExceptionFilter.filter(ResponseStatusExceptionFilter.java:53) ~[docker-java-1.4.0.jar:na]

Setup steps unclear

After cloning the repo I tried to run the tests to ensure my machine fulfilled all requirements. I can't seem to make any test in docker-it-scala pass. I suspect my docker-toolbox installation is somehow not ready to be used by docker-it-scala.

I've seen other issues where a DOCKER_HOST env_var may be set. I've tried 'https://192.168.99.100:2376' without any luck. Any pointers more than welcome.

Execution Context Issues

When I mix in a DockerKit in with AsyncFlatSpec from Scalatest3, I'm getting a "ambiguous implicit values" error because both are creating an execution context. I think the right behavior is for DockerKit to either depend on an externally-provided ExecutionContext, or not allow it's executionContext to be exposed to the outside world.

https protocol is not supported

If you forget to set up the DOCKER_HOST you get this error. This should probably fail with a more appropriate error.

And it should probably default to unix:///var/run/docker.sock

javax.ws.rs.ProcessingException: org.apache.http.conn.UnsupportedSchemeException: https protocol is not supported
    at com.github.dockerjava.jaxrs.connector.ApacheConnector.apply(ApacheConnector.java:490)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
    at org.glassfish.jersey.client.JerseyInvocation$3.call(JerseyInvocation.java:705)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
    at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:701)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:417)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:313)
    at com.github.dockerjava.jaxrs.ListImagesCmdExec.execute(ListImagesCmdExec.java:35)
    at com.github.dockerjava.jaxrs.ListImagesCmdExec.execute(ListImagesCmdExec.java:17)
    at com.github.dockerjava.jaxrs.AbstrDockerCmdExec.exec(AbstrDockerCmdExec.java:53)
    at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:29)
    at com.whisk.docker.DockerKit$$anonfun$listImages$1.apply(DockerKit.scala:25)
    at com.whisk.docker.DockerKit$$anonfun$listImages$1.apply(DockerKit.scala:25)
Caused by: org.apache.http.conn.UnsupportedSchemeException: https protocol is not supported
    at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:99)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:357)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:218)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:194)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
    at com.github.dockerjava.jaxrs.connector.ApacheConnector.apply(ApacheConnector.java:443)
    ... 15 more

DockerKit's implicit ExecutionContext conflicts with Scalatest's AsyncTestSuite

Hi there,
when using DockerKit along with ScalaTest's async test suites there's a conflict between the implicit ExecutionContext defined both in AsyncTestSuite and DockerKit traits:

Error:(27, 55) ambiguous implicit values:
 both method executionContext in trait AsyncTestSuite of type => scala.concurrent.ExecutionContext
 and lazy value dockerExecutionContext in trait DockerKit of type => scala.concurrent.ExecutionContext
 match expected type scala.concurrent.ExecutionContext
...

I was wondering if DockerKit could avoid declaring that dockerExecutionContext: ExecutionContext as implicit in order to avoid such conflict.

Thanks
PS: I'm happy to submit a PR if you reckon that might be useful as I do

Switching from 0.6.1 to 0.8.3 (or 0.9.0-M3) breaks behaviour

I was using 0.6.1 with

  override implicit val docker: Docker =
    new Docker(DockerClientConfig
      .createDefaultConfigBuilder()
      .withUri("unix:///var/run/docker.sock")
      .build())

until I got the error

Exception during container initialization
com.github.dockerjava.api.BadRequestException: {"message":"starting container with HostConfig was deprecated since v1.10 and removed in v1.12"}

In the current version (0.8.3) the method withUri has been removed. If I replace it with withDockerHost (my intuitive guess), there are no container getting started (the images are getting downloaded thou).
In the current milestone (0.9.0-M3), if I replace the block with

  override implicit val dockerFactory =
    new SpotifyDockerFactory(DefaultDockerClient
      .builder
      .uri("unix:///var/run/docker.sock")
      .build())

the containers are getting started but time out on their ReadyChecker

Running Docker 1.12.0 on Ubuntu

Idiomatic integration tests in Scala

Im setting up a project to build a REST service. I would like to begin using docker-it-scala since it seems like the perfect platform to scale your integration tests on. However as a first step I want to dockerize only my rest-service using docker-it-scala. Looking over the examples the use of docker-it-scala looks to be more aimed at putting the support systems in docker containers while still running the SUT from SBT. If I would like to also have the SUT in a docker container would I define this from docker-it-scala also or should I use some other tool such as sbt-docker?

Are there any example project doing this I can look at?

Samples for 2.12

The 2.12 version of the samples module does not seem to be available in Maven Central. Could you guys push that up?

timeouts to a resource.conf?

Seems fixed timeouts are a big reason of my #25 experience.

There seems to be a lot of them, and what exactly affects where is not necessarily clear for a newbie. Could the timeouts be taken to a resource.conf so that applications could easily set them to their liking.

Edit: #25 wasn't about timeouts, but the reason for this issue remains. Would be nice to have a library config instead of magic timeouts. Note: I'm not against fixed numbers in code, as such. Only they need to be based on something, not just a thing that worked on 1 or 2 machines. I'll be looking at docker-it-scala again this week - able to prepare a PR if there's consensus configurable timeouts would be welcome.

Volumes not mapped when using the spotify docker client

Setting .withVolumes(...) does not work on Mac with SpotifyDockerFactory

SpotifyDockerCommandExecutor seems to be missing a .volumes() call on the Spotify ContainerConfig.Builder

there might also be other stuff missing

Extra resolver needed

Did as explained in readme and have this issue:

[info] Resolving jline#jline;2.12.1 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: me.lessis#odelay-core_2.11;0.1.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      me.lessis:odelay-core_2.11:0.1.0
[warn]        +- me.lessis:undelay_2.11:0.1.0
[warn]        +- com.whisk:docker-it-scala-core_2.11:0.4.0
[warn]        +- com.whisk:docker-testkit-specs2_2.11:0.4.0 (/Users/francisdb/workspace/WaylayBroker/build.sbt#L96)
[warn]        +- foo:influxdb-scala_2.11:0.1-SNAPSHOT

Seems that we need another extra resolver:
resolvers += "softprops-maven" at "http://dl.bintray.com/content/softprops/maven"

Hardcoded image versions

Docker image versions are hardcoded. It makes it required to copy the whole Docker*Service when having to test against a different version of Mongo / Cassandra / …

Support setting the username

It appears that there is no way to set the username that should be used to create/run a container. Looking at the source code this could be be fixed in a straightforward manner by adding an optional field to the DockerContainer class, and call the ContainerConfig.Builder#user with the provided user.

Does this seem a viable approach? If so, I could make a PR.

Using local dockerfile/dockerfile from classpath

Is it possible to create a container from a local dockerfile or a dockerfile from the classpath?

Looking at the code right now it seems it is not possible to do this (as far as I could see). But does the underlying docker java api provide a way for which a corresponding call could be added to the DockerContainerManager/DockerCommandExecutor to allow this? Maybe the https://github.com/docker-java/docker-java/blob/419900d074e6d9754dcd5c6290d93c3350bab010/src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java ?

Is there an sbt-plugin?

@viktortnk This is a brilliant tool, thank you for open sourcing it. I was wondering if there is an SBT plugin that allows controlling Docker state per application as opposed to per test suite, something with the locking guarantees in place.

Now the only perceivable drawback we are experiencing with this is the once per test suite running mode. As far as I know ScalaTest doesn't offer a global test setup and teardown phase, which is why we usually take to SBT for this kind of task.

Is this necessary or is there another way? Alternatively I might have a go and an SBT plugin based on this if you don't mind.

Container fails to start properly because LogLineContains seems not to fully read the logs

I'm trying to create a InfluxDB service like this:

trait DockerInfluxDBService extends DockerKit {

  val DefaultInfluxDBAdminPort = 8083
  val DefaultInfluxDBPort = 8086

  val influxdbContainer = DockerContainer("tutum/influxdb:latest")
    .withPorts(
      DefaultInfluxDBPort -> None,
      DefaultInfluxDBAdminPort -> None
    )
    .withReadyChecker(LogLineContains("Listening for signals"))
    //.withCommand("/run.sh")

  abstract override def dockerContainers: List[DockerContainer] = influxdbContainer :: super.dockerContainers
}

the server does not seem to fully start/logs are not fully read causing the LogLineContains to never succeed. (checked by creating my own LogLineContains)
The HttpResponseCode check gives me a timeout.
In kitematic the image runs perfectly and logs the line I wait for

Container fails to start; no useful error reported

Hi. I'm much attracted to your way of running Docker containers; it's elegant, and vastly simpler than the equivalent in Java which I have to hand. The only problem is that it doesn't work, for me. The test example I've reduced my code to is so simple that I suspect the error may be in your code, not mine.

Here's my code, which I'm running with Scala 2.11.8 on a Mac running El Capitan:

import com.whisk.docker.{DockerContainer, DockerKit, DockerReadyChecker}

import scala.concurrent.duration._

trait KafkaDockerContainer extends DockerKit {
  override val StartContainersTimeout = 20.seconds // Was 60.seconds
  val KafkaAdvertisedHost = "192.168.99.100"
  val KafkaAdvertisedPort = 9092
  val ZookeeperDefaultPort = 2181

  lazy val kafkaContainer = DockerContainer("spotify/kafka")
    .withPorts(
      KafkaAdvertisedPort -> Some(KafkaAdvertisedPort),
      ZookeeperDefaultPort -> Some(ZookeeperDefaultPort))
    .withEnv(
      s"ADVERTISED_PORT=$KafkaAdvertisedPort",
      s"ADVERTISED_HOST=$KafkaAdvertisedHost")
    .withReadyChecker(DockerReadyChecker.LogLineContains("kafka entered RUNNING state"))

  abstract override def dockerContainers: List[DockerContainer] =
    kafkaContainer :: super.dockerContainers
}

I was using 0.8.3 of your code, but upgrading to 0.9.0-M5 also reproduces the problem.

Running docker run spotify/kafka at the command line shows the container does start, and the expected string is produced; however running the above Scala results in:

Exception in thread "main" java.lang.RuntimeException: Cannot run all required containers
at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:61)

with no further explanation.

Setting logging to debug gives me, inter alia the following, which hasn't particularly shed light for me:

v14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request GET /containers/6de0e43452a10b117f3ed713dcad961b436a9185bb497f4b915318c8b071480c/logs?stdout=true&stderr=true&follow=true HTTP/1.1
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> GET /containers/6de0e43452a10b117f3ed713dcad961b436a9185bb497f4b915318c8b071480c/logs?stdout=true&stderr=true&follow=true HTTP/1.1
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Host: 192.168.99.100:2376
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Connection: Keep-Alive
14:25:58.427 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 >> Accept-Encoding: gzip,deflate
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "GET /containers/6de0e43452a10b117f3ed713dcad961b436a9185bb497f4b915318c8b071480c/logs?stdout=true&stderr=true&follow=true HTTP/1.1[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "User-Agent: Jersey/2.23.1 (Apache HttpClient 4.5)[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Host: 192.168.99.100:2376[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Connection: Keep-Alive[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "Accept-Encoding: gzip,deflate[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 >> "[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "HTTP/1.1 200 OK[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Server: Docker/1.12.0 (linux)[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Date: Fri, 26 Aug 2016 12:25:58 GMT[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Content-Type: text/plain; charset=utf-8[\r][\n]"
14:25:58.428 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "Transfer-Encoding: chunked[\r][\n]"
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "[\r][\n]"
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << HTTP/1.1 200 OK
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Server: Docker/1.12.0 (linux)
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Date: Fri, 26 Aug 2016 12:25:58 GMT
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Content-Type: text/plain; charset=utf-8
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.headers - http-outgoing-4 << Transfer-Encoding: chunked
14:25:58.429 [dockerjava-jaxrs-async-0] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
14:25:58.430 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "0[\r][\n]"
14:25:58.430 [dockerjava-jaxrs-async-0] DEBUG org.apache.http.wire - http-outgoing-4 << "[\r][\n]"
14:25:58.430 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection [id: 4][route: {s}->https://192.168.99.100:2376][state: O="michael."] can be kept alive indefinitely
14:25:58.430 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory$1 - Connection released: [id: 4][route: {s}->https://192.168.99.100:2376][state: O="michael."][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
14:25:58.430 [dockerjava-jaxrs-async-0] DEBUG c.g.d.j.JerseyDockerCmdExecFactory - 9 * Client response received on thread dockerjava-jaxrs-async-0
9 < 200
9 < Content-Length: -1
9 < Content-Type: application/json;charset=utf-8
9 < Date: Fri, 26 Aug 2016 12:25:58 GMT
9 < Server: Docker/1.12.0 (linux)
9 < Transfer-Encoding: chunked

14:26:18.246 [main] ERROR test.AsyncBootstrapper$ - Exception during container initialization
java.util.concurrent.TimeoutException: Futures timed out after [20 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219) ~[scala-library-2.11.8.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223) ~[scala-library-2.11.8.jar:na]
at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190) ~[scala-library-2.11.8.jar:na]
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) ~[scala-library-2.11.8.jar:na]
at scala.concurrent.Await$.result(package.scala:190) ~[scala-library-2.11.8.jar:na]
at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:53) ~[docker-testkit-core_2.11-0.9.0-M5-michael.jar:0.9.0-M5-michael]

...following which there is a DELETE request to https://192.168.99.100:2376/containers/6de0e43452a10b117f3ed713dcad961b436a9185bb497f4b915318c8b071480c?v=true&force=true and the nascent container is then deleted.

By chance, #48 appeared whilst I was in the middle of getting very confused trying to step-debug the code, so I tried including .withLogLineReceiver (LogLineReceiver (true, (s : String) => println ("*** " + s) )), with a version of your code with the changes from that PR included, to examine the container log, but nothing turned up.

Having now exhausted my ideas, and, so Google would suggest, also the wider Internet's prior experience, can I turn this over to you to investigate, please?

overriding implicit val docker

Hi,
I'm trying to use your code for our project and I'm having trouble overriding the implicit val docker from trait DockerKit.

The thing is that we use our own server - http://mydockerrepo:4243 - and the tests work fine only when I run sbt with "export DOCKER_HOST=http://mydockerrepo:4243". In order to avoid this I tried to override it as follows:

class BackendITest extends FlatSpec with Matchers with BeforeAndAfterAll with GivenWhenThen with ScalaFutures with MyDockerCassandraService with DockerTestKit {
  implicit lazy val pc = PatienceConfig(
      timeout = scaled(Span(30, Seconds)),
      interval = scaled(Span(150, Millis))
    )

  override implicit val docker: Docker = {
    val dockerClientConfig = DockerClientConfig.
      createDefaultConfigBuilder().
      withUri("http://mydockerrepo:4243").
      build()
    new Docker(dockerClientConfig)
  }

  "cassandra container" should "be ready" in {
    cassandraContainer.isReady().futureValue shouldBe true
  }
}

But then I get NullPointerException in DockerContainerOps.getLogs - docker is null.

Am I doing something wrong?
Thanks in advance for your assistance.
Uri

Open source license

This project looks great and I wanted to try it on some Scala projects. Was wondering if you're willing to attach an open source license (e.g. MIT, Apache v2)?
Thanks!

How to disable the DEBUG logging docker-it-scala provides?

I enabled Logback in my project, for other reasons, and suddenly docker-it-scala started to through multiple pages of logs, whenever my tests run.

I would like to live without that (since things work) - where and how should I shut it up?

Version 0.9.1 on MacOS with docker-machine

Incompatible with latest version of docker (since 1.12)

The docker daemon log shows me this:

Handler for POST /containers/40a0452be28ff824551dee06516985060009792314a2247f5169fa07e7b10f65/start returned error: starting container with HostConfig was deprecated since v1.10 and removed in v1.12

I updated to the latest version available in the central repository (0.9.0-M5) but it didn't solve the problem. This has broken my test suite and I've had to disable components depending on this library so it'd be helpful if it were made compatible with docker >= 1.12.

Exception during container initialization

Hello,

I'm having some trouble running an ElasticSearch container. Here is the error I'm getting:

09:59:26.443 [ScalaTest-run] DEBUG com.spotify.docker.client.DockerConfigReader - Using configfile: /home/az/.dockercfg 
09:59:27.490 [pool-1-thread-1] INFO com.spotify.docker.client.DefaultDockerClient - Creating container with ContainerConfig: ContainerConfig{hostname=null, domainname=null, user=null, attachStdin=false, attachStdout=null, attachStderr=null, portSpecs=null, exposedPorts=[9200, 9300], tty=false, openStdin=null, stdinOnce=null, env=[], cmd=null, image=elasticsearch:1.7.1, volumes={}, workingDir=null, entrypoint=null, networkDisabled=null, onBuild=null, labels=null, macAddress=null, hostConfig=HostConfig{binds=[], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, containerIdFile=null, lxcConf=null, privileged=null, portBindings={9200=[PortBinding{hostIp=0.0.0.0, hostPort=9200}], 9300=[PortBinding{hostIp=0.0.0.0, hostPort=}]}, links=null, publishAllPorts=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, volumesFrom=null, capAdd=null, capDrop=null, networkMode=null, securityOpt=null, devices=null, memory=null, memorySwap=null, memorySwappiness=null, memoryReservation=null, nanoCpus=null, cpuPeriod=null, cpuShares=null, cpusetCpus=null, cpusetMems=null, cpuQuota=null, cgroupParent=null, restartPolicy=null, logConfig=null, ipcMode=null, ulimits=null, pidMode=null, shmSize=null, oomKillDisable=null, oomScoreAdj=null, autoRemove=null, pidsLimit=null, tmpfs=null, readonlyRootfs=null, storageOpt=null}, stopSignal=null, healthcheck=null, networkingConfig=null}
09:59:27.644 [pool-1-thread-1] INFO com.spotify.docker.client.DefaultDockerClient - Starting container with Id: de2afeb40a273059ddb35eb68c6e104db7b7abe4334cc30df8f7c097177ad055
09:59:47.482 [ScalaTest-run] ERROR com.infare.monitoring.client.MonitoringClientSpec - Exception during container initialization
java.util.concurrent.TimeoutException: Futures timed out after [20 seconds]
	at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
	at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
	at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:107)
	at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
	at scala.concurrent.Await$.result(package.scala:107)
	at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:51)
	at com.infare.monitoring.client.MonitoringClientSpec.startAllOrFail(MonitoringClientSpec.scala:16)
	at com.whisk.docker.scalatest.DockerTestKit$class.beforeAll(DockerTestKit.scala:21)
	at com.infare.monitoring.client.MonitoringClientSpec.beforeAll(MonitoringClientSpec.scala:16)
	at org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:212)
	at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:210)
	at com.infare.monitoring.client.MonitoringClientSpec.run(MonitoringClientSpec.scala:16)
	at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010)
	at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)
	at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
	at org.scalatest.tools.Runner$.run(Runner.scala:850)
	at org.scalatest.tools.Runner.run(Runner.scala)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)

Exception encountered when invoking run on a nested suite - Cannot run all required containers
java.lang.RuntimeException: Cannot run all required containers
	at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:59)
	at com.infare.monitoring.client.MonitoringClientSpec.startAllOrFail(MonitoringClientSpec.scala:16)
	at com.whisk.docker.scalatest.DockerTestKit$class.beforeAll(DockerTestKit.scala:21)
	at com.infare.monitoring.client.MonitoringClientSpec.beforeAll(MonitoringClientSpec.scala:16)
	at org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:212)
	at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:210)
	at com.infare.monitoring.client.MonitoringClientSpec.run(MonitoringClientSpec.scala:16)
	at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010)
	at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)
	at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
	at org.scalatest.tools.Runner$.run(Runner.scala:850)
	at org.scalatest.tools.Runner.run(Runner.scala)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)

I'm using scalatest. Here is the definition of my test class

class MonitoringClientSpec extends FlatSpec with GivenWhenThen with Matchers with Fixtures with DockerKitSpotify with DockerElasticsearchService with DockerTestKit

The interesting thing is that I am initially able to successfully run an adapted version of your example of an ES container:

it should "start only if the Elasticsearch container is started" in {
   isContainerReady(elasticsearchContainer).futureValue shouldBe true
   elasticsearchContainer.getPorts().futureValue.get(9300) should not be empty
   elasticsearchContainer.getPorts().futureValue.get(9200) should not be empty
   elasticsearchContainer.getIpAddresses().futureValue should not be (Seq.empty)
 }

After I hit the aforementioned error though - no test managed to succeed.

Any help would be appreciated.

KafkaServiceSpec on samples doesn't work on mac

i get the following exception:

15:07:11.494 [ScalaTest-run] ERROR com.whisk.docker.KafkaServiceSpec - Exception during container initialization
java.util.concurrent.TimeoutException: Futures timed out after [20 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
at scala.concurrent.Await$.result(package.scala:190)
at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:51)
at com.whisk.docker.KafkaServiceSpec.startAllOrFail(KafkaServiceSpec.scala:8)
at com.whisk.docker.DockerTestKit$class.beforeAll(DockerTestKit.scala:20)
at com.whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8)
at org.scalatest.BeforeAndAfterAll$class.beforeAll(BeforeAndAfterAll.scala:187)
at com.whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8)
at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:253)
at com.whisk.docker.KafkaServiceSpec.run(KafkaServiceSpec.scala:8)
at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:55)
at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2563)
at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2557)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:2557)
at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1044)
at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1043)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:2722)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1043)
at org.scalatest.tools.Runner$.run(Runner.scala:883)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Exception encountered when invoking run on a nested suite - Cannot run all required containers
java.lang.RuntimeException: Cannot run all required containers
at com.whisk.docker.DockerKit$class.startAllOrFail(DockerKit.scala:59)
at com.whisk.docker.KafkaServiceSpec.startAllOrFail(KafkaServiceSpec.scala:8)
at com.whisk.docker.DockerTestKit$class.beforeAll(DockerTestKit.scala:20)
at com.whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8)
at org.scalatest.BeforeAndAfterAll$class.beforeAll(BeforeAndAfterAll.scala:187)
at com.whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8)
at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:253)
at com.whisk.docker.KafkaServiceSpec.run(KafkaServiceSpec.scala:8)
at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:55)
at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2563)
at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2557)
at scala.collection.immutable.List.foreach(List.scala:381)
at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:2557)
at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1044)
at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1043)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:2722)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1043)
at org.scalatest.tools.Runner$.run(Runner.scala:883)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Error running docker it scala tests

Hi!
From osx (boot2docker with docker version 1.7.1) I successful pull the images but after that the test fails. That's the log:

sbt test
[info] Loading global plugins from /Users/giangi/.sbt/0.13/plugins
[info] Loading project definition from /Users/giangi/Projects/brokersquare/references/docker-it-scala/project
[info] Set current project to docker-it-scala (in build file:/Users/giangi/Projects/brokersquare/references/docker-it-scala/)
[info] KafkaServiceSpec:
15:23:37.923 [ForkJoinPool-1-worker-5] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: images 
15:23:38.132 [ForkJoinPool-1-worker-5] DEBUG c.g.d.jaxrs.DockerCmdExecFactoryImpl - 1 * Sending client request on thread ForkJoinPool-1-worker-5
1 > GET https://192.168.59.103:2376/images/json?all=0
1 > Accept: application/json

15:23:38.168 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: best-match
15:23:38.179 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
15:23:38.181 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection request: [route: {s}->https://192.168.59.103:2376][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
15:23:38.199 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {s}->https://192.168.59.103:2376][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
15:23:38.205 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {s}->https://192.168.59.103:2376
15:23:38.361 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.HttpClientConnectionManager - Connecting to /192.168.59.103:2376
15:24:08.552 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request GET /images/json?all=0 HTTP/1.1
15:24:08.553 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
15:24:08.553 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
15:24:08.554 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> GET /images/json?all=0 HTTP/1.1
15:24:08.554 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept: application/json
15:24:08.554 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: Jersey/2.11 (Apache HttpClient 4.3.1)
15:24:08.554 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 192.168.59.103:2376
15:24:08.554 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "GET /images/json?all=0 HTTP/1.1[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "Accept: application/json[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: Jersey/2.11 (Apache HttpClient 4.3.1)[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: 192.168.59.103:2376[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
15:24:08.555 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/json[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Sun, 02 Aug 2015 13:21:17 GMT[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 1886[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
15:24:08.609 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.wire - http-outgoing-0 << "[{"Id":"013071f640b14090ae071b71b888cfd577e2b74933c6926dbae102f9de416ce0","ParentId":"f33708e0f5256721ee6f8a233566bec37af64961add7362eb80fae7ccbf41202","RepoTags":["whisk/neo4j:2.1.8"],"RepoDigests":[],"Created":1435956542,"Size":0,"VirtualSize":209357587,"Labels":{}},{"Id":"fa0a6690446b2a14d06bd54a10fc2fb48c8fc84e180fa0af405068aae7367955","ParentId":"a02a1809c64afb456fc337ea954c01a30e4e52a657e2a84305e19a9a90e2b058","RepoTags":["mongo:3.0.3"],"RepoDigests":[],"Created":1434211656,"Size":0,"VirtualSize":257755649,"Labels":{}},{"Id":"09fcad99711a6121f6c90e54f30646db82f4c19848f4e26221a702709382566d","ParentId":"1c444ac450beb202af1bb0a18ac6deafa57d9195fd404638b4c77d574b1dd7d3","RepoTags":["cassandra:2.1.5"],"RepoDigests":[],"Created":1433290184,"Size":0,"VirtualSize":353346146,"Labels":{}},{"Id":"b82082cf67ba05928cf7e2c063f7da7bf2d93dd1ce148fb987216fa6dda1dafe","ParentId":"0055a53ac78664b0b5bcdbc775c3ca69fdacce577fb4093ad1a92511c360206b","RepoTags":["elasticsearch:1.4.4"],"RepoDigests":[],"Created":1429707889,"Size":0,"VirtualSize":368171578,"Labels":{}},{"Id":"8db3bd05850a9aa498d793585f2ba5067cd0848a7ca5cc3d54bb61697f4c0d30","ParentId":"cad297fb889eaeb5da5f62439b7532e118315e25fb6e5a1e3a5de22fce39b7d0","RepoTags":["wurstmeister/kafka:0.8.2.1"],"RepoDigests":[],"Created":1428833223,"Size":0,"VirtualSize":478479411,"Labels":null},{"Id":"224873bdcaa1b5d75779ae726d67b486d345c35c394ca63197c442bd634f31d8","ParentId":"89785ab09669852f9dbd57d001aba4ea9c43c0269a701cfe7b0fb96b5100e905","RepoTags":["nginx:1.7.11"],"RepoDigests":[],"Created":1427746729,"Size":0,"VirtualSize":93440740,"Labels":null},{"Id":"f3f0108676239f00512c81abda621f407c315e483b2b97be4d7cb44353fb0d6e","ParentId":"3ca9cb2541c8f44d4be6aa497d4259e28afbdb635eb7104bd7cf0815a3d979e2","RepoTags":["jplock/zookeeper:3.4.6"],"RepoDigests":[],"Created":1414023087,"Size":0,"VirtualSize":342741441,"Labels":null}][\n]"
15:24:08.612 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
15:24:08.612 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: application/json
15:24:08.612 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Sun, 02 Aug 2015 13:21:17 GMT
15:24:08.612 [ForkJoinPool-1-worker-5] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 1886
15:24:08.614 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
15:24:08.625 [ForkJoinPool-1-worker-5] DEBUG c.g.d.jaxrs.DockerCmdExecFactoryImpl - 2 * Client response received on thread ForkJoinPool-1-worker-5
2 < 200
2 < Content-Length: 1886
2 < Content-Type: application/json
2 < Date: Sun, 02 Aug 2015 13:21:17 GMT
[{"Id":"013071f640b14090ae071b71b888cfd577e2b74933c6926dbae102f9de416ce0","ParentId":"f33708e0f5256721ee6f8a233566bec37af64961add7362eb80fae7ccbf41202","RepoTags":["whisk/neo4j:2.1.8"],"RepoDigests":[],"Created":1435956542,"Size":0,"VirtualSize":209357587,"Labels":{}},{"Id":"fa0a6690446b2a14d06bd54a10fc2fb48c8fc84e180fa0af405068aae7367955","ParentId":"a02a1809c64afb456fc337ea954c01a30e4e52a657e2a84305e19a9a90e2b058","RepoTags":["mongo:3.0.3"],"RepoDigests":[],"Created":1434211656,"Size":0,"VirtualSize":257755649,"Labels":{}},{"Id":"09fcad99711a6121f6c90e54f30646db82f4c19848f4e26221a702709382566d","ParentId":"1c444ac450beb202af1bb0a18ac6deafa57d9195fd404638b4c77d574b1dd7d3","RepoTags":["cassandra:2.1.5"],"RepoDigests":[],"Created":1433290184,"Size":0,"VirtualSize":353346146,"Labels":{}},{"Id":"b82082cf67ba05928cf7e2c063f7da7bf2d93dd1ce148fb987216fa6dda1dafe","ParentId":"0055a53ac78664b0b5bcdbc775c3ca69fdacce577fb4093ad1a92511c360206b","RepoTags":["elasticsearch:1.4.4"],"RepoDigests":[],"Created":1429707889,"Size":0,"VirtualSize":368171578,"Labels":{}},{"Id":"8db3bd05850a9aa498d793585f2ba5067cd0848a7ca5cc3d54bb61697f4c0d30","ParentId":"cad297fb889eaeb5da5f62439b7532e118315e25fb6e5a1e3a5de22fce39b7d0","RepoTags":["wurstmeister/kafka:0.8.2.1"],"RepoDigests":[],"Created":1428833223,"Size":0,"VirtualSize":478479411,"Labels":null},{"Id":"224873bdcaa1b5d75779ae726d67b486d345c35c394ca63197c442bd634f31d8","ParentId":"89785ab09669852f9dbd57d001aba4ea9c43c0269a701cfe7b0fb96b5100e905","RepoTags":["nginx:1.7.11"],"RepoDigests":[],"Created":1427746729,"Size":0,"VirtualSize":93440740,"Labels":null},{"Id":"f3f0108676239f00512c81abda621f407c315e483b2b97be4d7cb44353fb0d6e","ParentId":"3ca9cb2541c8f44d4be6aa497d4259e28afbdb635eb7104bd7cf0815a3d979e2","RepoTags":["jplock/zookeeper:3.4.6"],"RepoDigests":[],"Created":1414023087,"Size":0,"VirtualSize":342741441,"Labels":null}]


15:24:08.794 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection [id: 0][route: {s}->https://192.168.59.103:2376][state: O=Boot2Docker] can be kept alive indefinitely
15:24:08.794 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {s}->https://192.168.59.103:2376][state: O=Boot2Docker][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
15:24:09.035 [ForkJoinPool-1-worker-1] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: com.github.dockerjava.core.command.CreateContainerCmdImpl@42372ba1[create container ,,com.github.dockerjava.core.command.CreateContainerCmdImpl@42372ba1]
15:24:09.044 [ForkJoinPool-1-worker-1] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: best-match
15:24:09.044 [ForkJoinPool-1-worker-1] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
15:24:09.046 [ForkJoinPool-1-worker-1] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection request: [route: {s}->https://192.168.59.103:2376][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
15:24:09.046 [ForkJoinPool-1-worker-1] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection leased: [id: 1][route: {s}->https://192.168.59.103:2376][total kept alive: 1; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:09.046 [ForkJoinPool-1-worker-1] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {s}->https://192.168.59.103:2376
15:24:09.047 [ForkJoinPool-1-worker-1] DEBUG o.a.h.c.HttpClientConnectionManager - Connecting to /192.168.59.103:2376
15:24:29.039 [pool-1-thread-1] ERROR whisk.docker.KafkaServiceSpec - Exception during container initialization
org.scalatest.concurrent.Futures$FutureConcept$$anon$1: A timeout occurred waiting for a future to complete. Queried 1744 times, sleeping 10 milliseconds between each query.
    at org.scalatest.concurrent.Futures$FutureConcept$class.tryTryAgain$1(Futures.scala:546) ~[scalatest_2.11-2.2.4.jar:na]
    at org.scalatest.concurrent.Futures$FutureConcept$class.futureValue(Futures.scala:558) ~[scalatest_2.11-2.2.4.jar:na]
    at org.scalatest.concurrent.ScalaFutures$$anon$1.futureValue(ScalaFutures.scala:74) ~[scalatest_2.11-2.2.4.jar:na]
    at whisk.docker.test.DockerTestKit$class.beforeAll(DockerTestKit.scala:50) ~[classes/:na]
    at whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8) [test-classes/:na]
    at org.scalatest.BeforeAndAfterAll$class.beforeAll(BeforeAndAfterAll.scala:187) [scalatest_2.11-2.2.4.jar:na]
    at whisk.docker.KafkaServiceSpec.beforeAll(KafkaServiceSpec.scala:8) [test-classes/:na]
    at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:253) [scalatest_2.11-2.2.4.jar:na]
    at whisk.docker.KafkaServiceSpec.run(KafkaServiceSpec.scala:8) [test-classes/:na]
    at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:466) [scalatest_2.11-2.2.4.jar:na]
    at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:677) [scalatest_2.11-2.2.4.jar:na]
    at sbt.ForkMain$Run$2.call(ForkMain.java:294) [test-agent-0.13.8.jar:0.13.8]
    at sbt.ForkMain$Run$2.call(ForkMain.java:284) [test-agent-0.13.8.jar:0.13.8]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_05]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_05]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_05]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
15:24:39.202 [ForkJoinPool-1-worker-1] DEBUG o.a.h.impl.execchain.MainClientExec - Executing request POST /containers/create HTTP/1.1
15:24:39.202 [ForkJoinPool-1-worker-1] DEBUG o.a.h.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
15:24:39.203 [ForkJoinPool-1-worker-1] DEBUG o.a.h.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> POST /containers/create HTTP/1.1
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Accept: application/json
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Content-Type: application/json
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> User-Agent: Jersey/2.11 (Apache HttpClient 4.3.1)
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Transfer-Encoding: chunked
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Host: 192.168.59.103:2376
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Connection: Keep-Alive
15:24:39.204 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 >> Accept-Encoding: gzip,deflate
15:24:39.278 [ForkJoinPool-1-worker-1] DEBUG c.g.d.jaxrs.DockerCmdExecFactoryImpl - 3 * Sending client request on thread ForkJoinPool-1-worker-1
3 > POST https://192.168.59.103:2376/containers/create
3 > Accept: application/json
3 > Content-Type: application/json
{"name":null,"capAdd":null,"capDrop":null,"Hostname":"","Domainname":"","User":"","Memory":0,"MemorySwap":0,"CpuShares":0,"Cpuset":null,"AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"PortSpecs":["2181"],"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":[],"Cmd":null,"Entrypoint":null,"Image":"jplock/zookeeper:3.4.6","Volumes":{},"WorkingDir":"","MacAddress":null,"NetworkDisabled":false,"ExposedPorts":{"2181/tcp":{}},"HostConfig":{"Binds":null,"Links":[],"LxcConf":null,"PortBindings":{"2181/tcp":[{"HostIp":"","HostPort":""}]},"PublishAllPorts":false,"Privileged":false,"ReadonlyRootfs":false,"Dns":null,"DnsSearch":null,"VolumesFrom":null,"ContainerIDFile":null,"CapAdd":null,"CapDrop":null,"RestartPolicy":null,"NetworkMode":null,"Devices":null,"ExtraHosts":null,"Ulimits":null}}

15:24:39.279 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "POST /containers/create HTTP/1.1[\r][\n]"
15:24:39.280 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept: application/json[\r][\n]"
15:24:39.280 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Content-Type: application/json[\r][\n]"
15:24:39.280 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "User-Agent: Jersey/2.11 (Apache HttpClient 4.3.1)[\r][\n]"
15:24:39.280 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Transfer-Encoding: chunked[\r][\n]"
15:24:39.281 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Host: 192.168.59.103:2376[\r][\n]"
15:24:39.281 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Connection: Keep-Alive[\r][\n]"
15:24:39.281 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept-Encoding: gzip,deflate[\r][\n]"
15:24:39.281 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
15:24:39.282 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "325[\r][\n]"
15:24:39.282 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "{"name":null,"capAdd":null,"capDrop":null,"Hostname":"","Domainname":"","User":"","Memory":0,"MemorySwap":0,"CpuShares":0,"Cpuset":null,"AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"PortSpecs":["2181"],"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":[],"Cmd":null,"Entrypoint":null,"Image":"jplock/zookeeper:3.4.6","Volumes":{},"WorkingDir":"","MacAddress":null,"NetworkDisabled":false,"ExposedPorts":{"2181/tcp":{}},"HostConfig":{"Binds":null,"Links":[],"LxcConf":null,"PortBindings":{"2181/tcp":[{"HostIp":"","HostPort":""}]},"PublishAllPorts":false,"Privileged":false,"ReadonlyRootfs":false,"Dns":null,"DnsSearch":null,"VolumesFrom":null,"ContainerIDFile":null,"CapAdd":null,"CapDrop":null,"RestartPolicy":null,"NetworkMode":null,"Devices":null,"ExtraHosts":null,"Ulimits":null}}[\r][\n]"
15:24:39.282 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "0[\r][\n]"
15:24:39.282 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "HTTP/1.1 201 Created[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Type: application/json[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "Date: Sun, 02 Aug 2015 13:21:47 GMT[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "Content-Length: 90[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.wire - http-outgoing-1 << "{"Id":"9acd213d2ffda25f5f162ae43431b496039a5ff0ea1d018f4911787bc622c0ac","Warnings":null}[\n]"
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 201 Created
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Type: application/json
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 << Date: Sun, 02 Aug 2015 13:21:47 GMT
15:24:39.418 [ForkJoinPool-1-worker-1] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Length: 90
15:24:39.419 [ForkJoinPool-1-worker-1] DEBUG o.a.h.impl.execchain.MainClientExec - Connection can be kept alive indefinitely
15:24:39.419 [ForkJoinPool-1-worker-1] DEBUG c.g.d.jaxrs.DockerCmdExecFactoryImpl - 4 * Client response received on thread ForkJoinPool-1-worker-1
4 < 201
4 < Content-Length: 90
4 < Content-Type: application/json
4 < Date: Sun, 02 Aug 2015 13:21:47 GMT
{"Id":"9acd213d2ffda25f5f162ae43431b496039a5ff0ea1d018f4911787bc622c0ac","Warnings":null}


15:24:39.422 [ForkJoinPool-1-worker-1] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection [id: 1][route: {s}->https://192.168.59.103:2376][state: O=Boot2Docker] can be kept alive indefinitely
15:24:39.423 [ForkJoinPool-1-worker-1] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection released: [id: 1][route: {s}->https://192.168.59.103:2376][state: O=Boot2Docker][total kept alive: 2; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:39.426 [ForkJoinPool-1-worker-5] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: rm --volumes=true--force=true9acd213d2ffda25f5f162ae43431b496039a5ff0ea1d018f4911787bc622c0ac
15:24:39.426 [ForkJoinPool-1-worker-7] DEBUG c.g.d.core.command.AbstrDockerCmd - Cmd: com.github.dockerjava.core.command.StartContainerCmdImpl@4e311516[containerId=9acd213d2ffda25f5f162ae43431b496039a5ff0ea1d018f4911787bc622c0ac,execution=com.github.dockerjava.jaxrs.StartContainerCmdExec@21d10ea9]
15:24:39.427 [ForkJoinPool-1-worker-5] DEBUG c.g.d.jaxrs.DockerCmdExecFactoryImpl - 5 * Sending client request on thread ForkJoinPool-1-worker-5
5 > DELETE https://192.168.59.103:2376/containers/9acd213d2ffda25f5f162ae43431b496039a5ff0ea1d018f4911787bc622c0ac?v=1&force=1
5 > Accept: application/json

15:24:39.428 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: best-match
15:24:39.428 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
15:24:39.428 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection request: [route: {s}->https://192.168.59.103:2376][total kept alive: 2; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:39.428 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
15:24:39.430 [ForkJoinPool-1-worker-5] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection leased: [id: 2][route: {s}->https://192.168.59.103:2376][total kept alive: 1; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:39.430 [ForkJoinPool-1-worker-5] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {s}->https://192.168.59.103:2376
15:24:39.431 [ForkJoinPool-1-worker-5] DEBUG o.a.h.c.HttpClientConnectionManager - Connecting to /192.168.59.103:2376
15:24:39.431 [ForkJoinPool-1-worker-7] DEBUG o.a.h.c.protocol.RequestAddCookies - CookieSpec selected: best-match
15:24:39.431 [ForkJoinPool-1-worker-7] DEBUG o.a.h.c.protocol.RequestAuthCache - Auth cache not set in the context
15:24:39.431 [ForkJoinPool-1-worker-7] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection request: [route: {s}->https://192.168.59.103:2376][total kept alive: 1; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:39.431 [ForkJoinPool-1-worker-7] DEBUG o.a.h.i.c.DefaultManagedHttpClientConnection - http-outgoing-1: Close connection
15:24:39.432 [ForkJoinPool-1-worker-7] DEBUG o.a.h.i.c.PoolingHttpClientConnectionManager - Connection leased: [id: 3][route: {s}->https://192.168.59.103:2376][total kept alive: 0; route allocated: 2 of 2; total allocated: 2 of 20]
15:24:39.432 [ForkJoinPool-1-worker-7] DEBUG o.a.h.impl.execchain.MainClientExec - Opening connection {s}->https://192.168.59.103:2376
15:24:39.433 [ForkJoinPool-1-worker-7] DEBUG o.a.h.c.HttpClientConnectionManager - Connecting to /192.168.59.103:2376
[info] Exception encountered when attempting to run a suite with class name: whisk.docker.KafkaServiceSpec *** ABORTED ***
[info]   Exception encountered when attempting to run a suite with class name: whisk.docker.KafkaServiceSpec (DockerTestKit.scala:58)
[info] Run completed in 1 minute, 12 seconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 1
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] *** 1 SUITE ABORTED ***
[error] Error during tests:
[error]     whisk.docker.KafkaServiceSpec
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 74 s, completed Aug 2, 2015 3:24:49 PM

Have you any idea of what is wrong?
Thanks
Regards
Gianluca

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.