【问题标题】:Jersey UniformInterfaceException when doing a POST with docker-client使用 docker-client 进行 POST 时的 Jersey UniformInterfaceException
【发布时间】:2014-10-17 13:25:25
【问题描述】:

当尝试通过 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)有关

【问题讨论】:

  • 您可以访问服务器日志吗?
  • 不,我不抱歉。它取代了某处的东西,但我找不到它
  • 你知道你的服务在哪里运行,你将数据发布到哪里?
  • 服务正在使用最新 docker 1.30 版本的 ubuntu 机器上运行,但通过控制台“ curl -XPOST 10.###.###.143:2375/v1.12/images/create? fromImage=10.###.###.143:5000/itest/ latest " 这个命令正在运行
  • 问题已由 docker-client lib 修复

标签: java web-services jersey uri docker


【解决方案1】:

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

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

或者,您可以省略:latest,因为它在没有指定其他标签时是隐含的。

【讨论】:

    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多