【发布时间】:2018-06-06 19:48:27
【问题描述】:
我正在尝试通过https://github.com/docker-java/docker-java 使用 java 客户端 api 列出 docker 图像
这是我的代码 sn-p
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();
}
}
我得到了这个异常
线程“主”java.lang.ExceptionInInitializerError 中的异常 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) 在 com.cit.security.controllers.StartContainers.startContainers(StartContainers.java:18) 在 com.cit.security.controllers.StartContainers.(StartContainers.java:13) 在 com.cit.security.controllers.StartContainers.main(StartContainers.java:29) 原因:java.lang.RuntimeException:无法创建 jax-rs 运行时委托在 javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:149) 在 javax.ws.rs.core.UriBuilder.(UriBuilder.java:56)
【问题讨论】:
标签: java docker containers devops