Hi Andrea, I created a test server "54.176.143.0" at EC2 that you can ssh to. With the code I copied in my initial email, I still got the same errors. Below are some basic info for the test server. It's docker 1.0 with two images. Can you please help ?
BTW, what should I put to "user" and "credential" if the test server endpoint is configured as ssh key-less login ? [ec2-user@ip-10-197-45-183 ~]$ sudo docker images --no-trunc REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE eg_sshd latest 75dc06b173b18ff7e855de8fe7384fbad95a4cecf638a26b3e132d6cd0a5e5f2 2 hours ago 148.3 MB ubuntu 12.04 822a01ae9a156790e516b034972c54f038bddf55437f562060420716dafe72fa 2 days ago 108 MB [ec2-user@ip-10-197-45-183 ~]$ docker -v Docker version 1.0.0, build 63fe64c/1.0.0 [ec2-user@ip-10-197-45-183 ~]$ cat /etc/sysconfig/docker # /etc/sysconfig/docker # # Other arguments to pass to the docker daemon process # These will be parsed by the sysv initscript and appended # to the arguments list passed to docker -d other_args="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" Thanks, -Liang On Wed, Aug 13, 2014 at 11:36 PM, Andrea Turli <andrea.tu...@gmail.com> wrote: > Hi Liang, > > I suspect that you are using an old version of docker engine, maybe less > that 1.x ? > > Could you please run `docker version` and `docker info` to check that you > have a version >= 1.0 ? > > Also with 1.0, docker engine official tcp port has been moved to 2375 (2376 > for https) so probably you need to edit also DOCKER_OPTS. > > HTH, > Andrea > > > > > On Wed, Aug 13, 2014 at 11:53 PM, liang cheng <liang.ch...@gmail.com> > wrote: > > > Hi Andrea, > > > > Below is my code I believe as minimal to run jclouds-docker. > > > > ComputeServiceContext context = ContextBuilder.newBuilder("docker") > > .credentials("root", "default") > > .endpoint("http://172.31.11.23:4243") > > .modules(ImmutableSet.<Module> of(new SLF4JLoggingModule(), > > new > SshjSshClientModule())) > > .buildView(ComputeServiceContext.class); > > > > TemplateBuilder b = context.getComputeService().templateBuilder(); > > > > > > > > > b.imageId("a9de1b8ac7fbf0629c173bc9a71609ef46d0fc533ef089c5a42c8b36eb15194a"); > > > > Set<? extends NodeMetadata> nodes = > > context.getComputeService().createNodesInGroup("container", 1, > > > > > > > b.imageId("a9de1b8ac7fbf0629c173bc9a71609ef46d0fc533ef089c5a42c8b36eb15194a").build()); > > > > > > ====== > > I have been able to curl and get the response from 172.31.11.23:4243 > > manually. But when I run this program, I got the java error like a json > > parsing error. Can you help ? > > > > > > Exception in thread "main" java.lang.IllegalStateException: Expected > STRING > > but was BEGIN_ARRAY > > at > > > > > com.google.gson.internal.bind.JsonTreeReader.nextString(JsonTreeReader.java:154) > > at > > com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358) > > at > > com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346) > > at > > > > > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) > > at > > > > > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) > > at > > > > > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) > > at > > > > > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) > > at com.google.gson.Gson.fromJson(Gson.java:803) > > at com.google.gson.Gson.fromJson(Gson.java:868) > > at com.google.gson.Gson.fromJson(Gson.java:841) > > at > > > > > org.jclouds.docker.config.DockerParserModule$ContainerTypeAdapter.deserialize(DockerParserModule.java:58) > > at > > > > > org.jclouds.docker.config.DockerParserModule$ContainerTypeAdapter.deserialize(DockerParserModule.java:51) > > at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) > > at com.google.gson.Gson.fromJson(Gson.java:803) > > at com.google.gson.Gson.fromJson(Gson.java:768) > > at com.google.gson.Gson.fromJson(Gson.java:717) > > at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:42) > > at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82) > > at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76) > > at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:62) > > at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:42) > > at > > > org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91) > > at > > > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74) > > at > > > org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45) > > at > > > > > org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) > > at > > > > > com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) > > at com.sun.proxy.$Proxy50.inspectContainer(Unknown Source) > > at > > > > > org.jclouds.docker.compute.strategy.DockerComputeServiceAdapter.listNodes(DockerComputeServiceAdapter.java:187) > > at > > > > > org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listDetailsOnNodesMatching(AdaptingComputeServiceStrategies.java:122) > > at > > > > > org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listNodes(AdaptingComputeServiceStrategies.java:112) > > at > > > > > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.getNextNames(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:192) > > at > > > > > org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:121) > > at > > > > > org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:210) > > at docker.main(docker.java:104) > > > > ==== > > Thanks, > > -Liang > > > > > > On Fri, Aug 8, 2014 at 12:06 AM, Andrea Turli <andrea.tu...@gmail.com> > > wrote: > > > > > Yes Liang, > > > > > > try with > > > > > > ContextBuilder builder = ContextBuilder.newBuilder(provider) > > > .credentials(identity, > > > credential) > > > .endpoint(" > > > http://172.22.22.22:2375") > > > .modules(modules) > > > .overrides(properties); > > > > > > assuming that you have enabled the docker remote API over tcp > > > > > > You can find a lot on the internet about that, but as an example, if > your > > > docker engine runs on Ubuntu you can update DOCKER_OPTS in > > > /etc/init/docker.conf: > > > > > > DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock' > > > > > > and then > > > > > > service docker restart > > > > > > HTH, > > > Andrea > > > > > > > > > > > > > > > On Fri, Aug 8, 2014 at 2:25 AM, liang cheng <liang.ch...@gmail.com> > > wrote: > > > > > > > [github on Bcc] > > > > > > > > Hi Andrea, > > > > > > > > Actually what I meant is how to specify the "Linux host" in the > diagram > > > of > > > > this link <http://jclouds.apache.org/guides/docker/>.For example, > I'm > > > > working on workstation (172.11.11.11) and want to create docker > > container > > > > at a LInux host (172.22.22.22). How do I pass "172.22.22.22" to > > > > jclouds-docker API ? Using "endpoint" ? Please advise it. > > > > > > > > Thanks, > > > > -Liang > > > > > > > > > > > > On Wed, Aug 6, 2014 at 11:33 PM, Andrea Turli < > > notificati...@github.com> > > > > wrote: > > > > > > > > > By default, Docker assigns a NAT'ed IP to the created container > which > > > is > > > > > parsed in the Container domain class > > > > > > > > > > If you need more advanced networking configuration you can try > > > > > > > http://jpetazzo.github.io/2013/10/16/configure-docker-bridge-network/ > > > or > > > > > https://docs.docker.com/articles/networking/ but those are > untested > > > > > solutions out of the scope of jclouds, at the moment. > > > > > > > > > > — > > > > > Reply to this email directly or view it on GitHub > > > > > < > > > > > > > > > > https://github.com/jclouds/jclouds-labs/commit/9b124ee9f12e0392b6d2f083308297bfcca8ea79#commitcomment-7297454 > > > > > > > > > > . > > > > > > > > > > > > > > >