使用docker-client进行POST时,Jersey UniformInterfaceException

时间:2014-10-17 13:25:25

标签: java web-services jersey uri docker

当尝试通过docker-client将RESTful服务发布到我的私有docker注册表时,我得到了该错误。令人困惑的是,您可以在此处看到输入流自行更改。它是在球衣背景的某处,但我无法找到它的原因。我猜这个问题发生在球衣逻辑里面的某个地方

方式

public static Service initService(String imageId) {

        final com.spotify.docker.client.DockerClient docker = new DefaultDockerClient(
                "http://10.###.###.143:2375");
        String s = null;

        try {

            s = ("10.###.###.143:5000/user/ipatest&tag=latest");

            docker.pull(s);

            System.out.println(docker.toString());

        } catch (DockerException | InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

异常

com.spotify.docker.client.DockerRequestException: Request error: POST http://10.###.###.143:2375/v1.12/images/create?fromImage=10.###.###.143%3A5000%2Fuser%2Fipatest%26tag%3Dlatest: 500
            at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:563)
            at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:544)
            at com.spotify.docker.client.DefaultDockerClient.pull(DefaultDockerClient.java:345)
            at com.spotify.docker.client.DefaultDockerClient.pull(DefaultDockerClient.java:329)
            at de.fhg.ipa.vfk.eapps.commoniaas.docker.DockerServiceMgmt.initService(DockerServiceMgmt.java:43)
            at de.fhg.ipa.vfk.eapps.commoniaas.docker.DockerServiceMgmt.main(DockerServiceMgmt.java:163)
        Caused by: com.sun.jersey.api.client.UniformInterfaceException: POST http://10.###.###.143:2375/v1.12/images/create?fromImage=10.###.###.143%3A5000%2Fuser%2Fipatest%26tag%3Dlatest returned a response status of 500 Internal Server Error
            at com.sun.jersey.api.client.WebResource.handle(WebResource.java:688)
            at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
            at com.sun.jersey.api.client.WebResource$Builder.method(WebResource.java:623)
            at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:540)
            ... 4 more

它必须与属于WebResource(jersey)的queryParams(String params)有关

1 个答案:

答案 0 :(得分:0)

您传递给pull的图片名称无效。图像名称的格式为name:tag。这样做:

docker.pull("10.###.###.143:5000/user/ipatest:latest");

或者,您可以省略:latest,因为在没有指定其他标记时暗示它。