arquillian / arquillian-cube

Control (docker, kubernetes, openshift) containers in your tests with ease!
http://arquillian.org/arquillian-cube/
120 stars 98 forks source link

Unable to start container using Docker Machine on OS X #171

Closed lucasweb78 closed 9 years ago

lucasweb78 commented 9 years ago

I currently have Docker Machine installed on OS X using Docker Toolbox

Docker version 1.8.1, build d12ea79 docker-machine version 0.4.0 (9d0dc7a)

I'm using Arquillian Cube 1.0.0.Alpha7, with wildfly-arquillian-container-remote 8.2.0.Final

I'm attempting to start a Docker Container with Wildfly, below is my arquillian.xml

    <extension qualifier="docker">
        <property name="serverVersion">1.12</property>
        <property name="dockerMachinePath">/usr/local/bin/docker-machine</property>
        <property name="machineName">default</property>
        <property name="dockerContainers">
            omakase-it:
              image: example/application-it:0.9.0-SNAPSHOT
              await:
                strategy: polling
                sleepPollingTime: 50000
                iterations: 5
              portBindings: [8080->8080/tcp, 9990->9990/tcp]
        </property>
    </extension>

    <container qualifier="application-it" default="true">
        <configuration>
            <property name="username">admin</property>
            <property name="password">password</property>
        </configuration>
    </container>

When I run my tests I get the following exception:

Caused by: org.apache.http.conn.UnsupportedSchemeException: tcp 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 org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:465)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
    at org.glassfish.jersey.client.JerseyInvocation$2.call(JerseyInvocation.java:683)
    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:679)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:435)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:338)
    at com.github.dockerjava.jaxrs.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:31)
    at com.github.dockerjava.jaxrs.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:14)
    at com.github.dockerjava.jaxrs.AbstrDockerCmdExec.exec(AbstrDockerCmdExec.java:57)
    at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:29)
    at com.github.dockerjava.core.command.CreateContainerCmdImpl.exec(CreateContainerCmdImpl.java:101)
    at org.arquillian.cube.docker.impl.docker.DockerClientExecutor.createContainer(DockerClientExecutor.java:326)
    at org.arquillian.cube.docker.impl.model.DockerCube.create(DockerCube.java:74)
    at org.arquillian.cube.impl.client.CubeLifecycleController.create(CubeLifecycleController.java:15)
aslakknutsen commented 9 years ago

Sounds like you're running into this? https://github.com/arquillian/arquillian-cube/issues/165

Try to build Cube master branch locally and see if that helps :)

lucasweb78 commented 9 years ago

@aslakknutsen, #165 solves my issue above. I'll fallback to specifying serverUri with a https URL in my arquillian.xml for now and wait for the next release.

Closing issue as it is a duplicate of #165