ドッカーAPI画像作成/プル(/v1.6/images/create)プロセスが成功または失敗の場合は明らかに常にドッカーAPI/images/createの処理方法は?
HTTP/1.1 200 OK
Content-Type: application/json
に関係なくを返します。
さらに、ペイロードは有効ではありません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"}}
有効なJSONされていない、と使用/転送されていないHTTPエラーが処理することが厄介になりクライアントのエラー。
確かに、ドッカー-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)
ここで、プルには長い時間がかかることがあります。クライアントへの回答をストリーミングしていますが、ここで何かが間違っていると考えるのを助けることはできません。
だから、これは3倍です:
- 私は完全にここで何かが足りないのですか?
- もしそうでなければ:クライアントアプリケーションを実装している場合(例えば、Pythonで)、どうすればこれを扱うことができますか?有効なjsonブロックを検出してロードし、何かが間違っていると「考える」たびに終了するようにしてください。
- もしそうなら、これは今後のドッカーのバージョンで(これ以上)変更される予定ですか?
まあ、それはそれはまた、JSONの塊だ、チャンクエンコーディングいないだけ - 確かに、私は終わったアップだけでなくPythonでパーサを書きます。しかし、答えをありがとう。 –