小编Man*_*utz的帖子

如何处理docker API/images/create?

Docker API图像创建/拉动(/v1.6/images/create)显然总是返回

HTTP/1.1 200 OK
Content-Type: application/json
Run Code Online (Sandbox Code Playgroud)

无论过程是成功还是失败.

此外,有效载荷无效json.

例如:/v1.6/images/create?fromImage = whatevertheflush

收益:

{"status":"Pulling repository whatevertheflush"}{"error":"Server error: 404 trying to fetch remote history for whatevertheflush","errorDetail":{"code":404,"message":"Server error: 404 trying to fetch remote history for whatevertheflush"}}
Run Code Online (Sandbox Code Playgroud)

不是有效的json,并且没有转发/使用HTTP错误使得处理客户端错误变得很麻烦.

实际上,docker-py只是呕吐有效载荷(https://github.com/dotcloud/docker-py/blob/master/docker/client.py#L374).来自openstack的DockerHTTPClient尝试根据http错误代码返回一个值,该代码总是200 ...(https://github.com/openstack/nova/blob/master/nova/virt/docker/client.py# L191)

现在,我理解拉动可能需要很长时间,并且开始向客户端传输答案有点有意义,但我不禁想到这里有问题.

所以,这有三个方面:

  • 我在这里完全错过了什么吗?
  • 如果没有:如果您正在实现客户端应用程序(例如,在Python中),您将如何处理此问题(如果可能的话,优雅:) :)?尝试检测有效的json块,加载它们,并在我们"认为"出错时退出?
  • 如果不是:这将在未来的docker版本中改变(为了更好)吗?

docker

7
推荐指数
1
解决办法
1776
查看次数

标签 统计

docker ×1