2017-05-01 105 views
0

我正在尝试使用Java客户端API列出泊坞窗图像通过https://github.com/docker-java/docker-javaJava.lang.ExceptionInInitializerError同时列出泊坞窗图像

这是我的代码片段

import java.util.List; 
import com.github.dockerjava.api.DockerClient; 
import com.github.dockerjava.api.model.Image; 
import com.github.dockerjava.core.DockerClientBuilder; 
    public class StartContainers{ 
     DockerClient dockerClient ; 
     public StartContainers() { 
      startContainers(); 
     } 

    public void startContainers() { 

     dockerClient = DockerClientBuilder.getInstance("tcp://localhost:2375").build(); 
     List<Image> images = dockerClient.listImagesCmd().exec(); 

     for(int i=0; i < images.size(); i++){ 
      System.out.println(images.get(i)); 
     } 

    } 

    public static void main(String args[]) 
    { 
     StartContainers startContainers=new StartContainers(); 
    } 
} 

,我得到这个异常

异常在线程“main”java.lang.ExceptionInInitializerError at org.glassfish.jersey.client.JerseyWebTarget。(JerseyWebTarget.java:71) 在 org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:290) 在 org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:76) 在 com.github.dockerjava .jaxrs.JerseyDockerCmdExecFactory.init(JerseyDockerCmdExecFactory.java:234) 在 com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:161) 在 com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder .java:47) at com.cit.security.controllers.StartContainers.startContainers(StartContainers.java:18) at com.cit.security.controllers.StartContainers。 (StartContainers.java:13) 在 com.cit.security.controllers.StartContainers.main(StartContainers.java:29) 所致:了java.lang.RuntimeException:无法在 的javax创建JAX-RS RuntimeDelegate。 ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:149) 在javax.ws.rs.core.UriBuilder。(UriBuilder.java:56),您正在运行

回答

0

你能描述环境那个代码? 我设法在Debian主机上成功运行该代码(作为maven项目),以root用户身份运行docker守护程序(sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &)并启动了一个虚拟容器。