【问题标题】:Java.lang.ExceptionInInitializerError while listing docker images列出泊坞窗图像时出现 Java.lang.ExceptionInInitializerError
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 2021-04-29
      • 2018-12-15
      相关资源
      最近更新 更多