Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker 1.12 support: "starting container with HostConfig was deprecated since v1.10 and removed in v1.12" #163

Closed
haines opened this issue Jun 22, 2016 · 16 comments

Comments

@haines
Copy link
Contributor

haines commented Jun 22, 2016

This looks like an upstream issue with docker-java, but I can't quite reconcile it -- it looks like the deprecated options were removed some time ago (docker-java/docker-java#248)

org.testcontainers.containers.ContainerLaunchException: Could not create/start container
    at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:239)
    at org.testcontainers.containers.GenericContainer.lambda$start$0(GenericContainer.java:160)
    at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
    ... 33 more
Caused by: org.testcontainers.shaded.com.github.dockerjava.api.BadRequestException: {"message":"starting container with HostConfig was deprecated since v1.10 and removed in v1.12"}

    at org.testcontainers.shaded.com.github.dockerjava.jaxrs.filter.ResponseStatusExceptionFilter.filter(ResponseStatusExceptionFilter.java:43)
    at org.testcontainers.shaded.org.glassfish.jersey.client.ClientFilteringStages$ResponseFilterStage.apply(ClientFilteringStages.java:134)
    at org.testcontainers.shaded.org.glassfish.jersey.client.ClientFilteringStages$ResponseFilterStage.apply(ClientFilteringStages.java:123)
    at org.testcontainers.shaded.org.glassfish.jersey.process.internal.Stages.process(Stages.java:171)
    at org.testcontainers.shaded.org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:251)
    at org.testcontainers.shaded.org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:667)
    at org.testcontainers.shaded.org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:664)
    at org.testcontainers.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.testcontainers.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.testcontainers.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.testcontainers.shaded.org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
    at org.testcontainers.shaded.org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:664)
    at org.testcontainers.shaded.org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:424)
    at org.testcontainers.shaded.org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:333)
    at org.testcontainers.shaded.com.github.dockerjava.jaxrs.StartContainerCmdExec.execute(StartContainerCmdExec.java:28)
    at org.testcontainers.shaded.com.github.dockerjava.jaxrs.StartContainerCmdExec.execute(StartContainerCmdExec.java:13)
    at org.testcontainers.shaded.com.github.dockerjava.jaxrs.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:23)
    at org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:33)
    at org.testcontainers.shaded.com.github.dockerjava.core.command.StartContainerCmdImpl.exec(StartContainerCmdImpl.java:53)
    at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:182)
@rnorth
Copy link
Member

rnorth commented Jun 22, 2016

Yes, it's docker-java/docker-java#615. Which version of docker is this
affecting you on?
Edit: i.e. Docker for Mac, or docker-machine, and which release specifically?

@haines
Copy link
Contributor Author

haines commented Jun 22, 2016

I'm on 1.12.0-rc2, installed via Docker for Mac beta16 (build: 9493)

@sevikkk
Copy link

sevikkk commented Jun 23, 2016

I can confirm this issue on Docker for Mac.

Looks like it's built not from official github Docker repo, as code it repo still considers HostConfig as a warning, not error.

This issue breaks PyCharm support for Docker as well.

@sevikkk
Copy link

sevikkk commented Jun 23, 2016

Docker

Version 1.12.0-rc2-beta16 (build: 9493)
f615be9fb245904fbdf1aa0cad251d418c869428

@rnorth
Copy link
Member

rnorth commented Jun 23, 2016

Which version of Testcontainers is this affecting you on? The main 1.0.5 release?

I've been mainly working on the docker-compose-refactor branch recently, but have gone back to its predecessor 1.1-rc1 branch to test - that seems to be working.

I'd like to try and get the 1.1 release out this weekend for Docker for Mac support, so I hope this will help. Any extra testing would be much appreciated, though.

@sevikkk
Copy link

sevikkk commented Jun 23, 2016

Sorry, I'm not using testcontainers, I've got to this issue from docker-java/docker-java#615

@margic
Copy link

margic commented Jun 24, 2016

I see this error with the integration tests in the docker-java directly using 1.12 server api. The unit tests pass ok.

@stepan-romankov
Copy link

+1

@rnorth
Copy link
Member

rnorth commented Jun 28, 2016

@margic it sounds like you're encountering this problem on the docker-java project, not the testcontainers project which this ticket belongs to. Is that correct?

@stepan-romankov similarly, are you a testcontainers user?

@ihabsoliman
Copy link

Here they pushed changes to fix this issue

fsouza/go-dockerclient#537

@rnorth
Copy link
Member

rnorth commented Jul 6, 2016

I'd be interested to see if this is occurring for people now with Testcontainers v1.1.0 and Docker for Mac beta releases - it works for me.

@ihabsoliman
Copy link

ihabsoliman commented Jul 6, 2016

Using v1.1.0

I get this on linux

2:30:40.262 [main] ERROR o.t.d.DockerClientProviderStrategy -     UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed). Root cause ChannelException (epoll_create1() failed: Too many open files)
12:30:40.266 [pool-1-thread-2] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@5f7506c0
12:30:40.266 [main] ERROR o.t.d.DockerClientProviderStrategy -     DockerMachineClientProviderStrategy: failed with exception InvalidConfigurationException (docker-machine executable was not found on PATH (...)

On Mac I get this

13:18:28.086 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@6cd40e18
13:18:28.087 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@7c041201
13:18:28.087 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@4c1ffadc
13:18:28.090 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@4c244638
13:18:28.090 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@4c256a
13:18:28.091 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@5c84bb78
13:18:28.091 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@6ffe732e
13:18:28.092 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@185ed6f
13:18:28.092 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@6003ff40
13:18:28.092 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@19a5c743
13:18:28.093 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@55ea05a
13:18:28.093 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@2b9ecb0b

in a loop that never ends

@ihabsoliman
Copy link

ihabsoliman commented Jul 6, 2016

Also, found this in the logs

13:41:52.488 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@b115c37
13:41:52.488 [pool-1-thread-1] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.netty.exec.PingCmdExec@6d6a1fee
13:41:52.493 [main] DEBUG o.t.d.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed). Root cause NativeIoException (newSocketDomain() failed: Too many open files)
13:41:52.493 [main] INFO  o.t.d.DockerClientProviderStrategy - Looking for Docker environment. Trying docker-machine

@rnorth
Copy link
Member

rnorth commented Jul 6, 2016

@ihabsoliman thanks - those logs you've pasted look like a different thing to what's in this ticket, but do look like #170. Let's continue that analysis over there.

@ihabsoliman
Copy link

Ah sorry, mixed up tabs, yea your right.

@rnorth
Copy link
Member

rnorth commented Jul 19, 2016

I'm inclined to mark as closed, since I've not been able to reproduce since the earlier dev version of DfM support, and since there have been no reports since 1.1.0.

@rnorth rnorth closed this as completed Jul 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants