https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/list-tasksによれば、フィルタは特定のサービス名を持つ実行中のコンテナを取得するためにのみ使用できます。何らかの理由で、名前や希望する状態に関係なく、すべてのタスクの完全なリストを取得しています。 Docker APIでJSONリクエストでカールを使用する適切な例が見つかりません。Docker APIはjsonフィルタを適用できません
A)
カール-X GET -H "のContent-Type:アプリケーション/ JSON" 私は、次のコマンドを使用してい-d「{ "フィルタ":[{ "サービス": "デモ"、 "望ましい状態": "実行中"}]} 'https://HOSTNAME:2376/tasks --cert〜/ .docker/cert.pem --key〜/ .docker/key.pem --cacert〜/ .docker/ca。 PEM
がから作業何かを取得しようとしているすべてのもの
B) を返します。
カールhttps://HOSTNAME:2376/containers/json?all=1&filters= {%の22status%22:%22exited%22]} --cert〜/ .docker/cert.pemを--key〜/ .docker/key.pem --cacert〜/。 docker/ca.pem
これは「curl:(60)Peer's Certificate issuerが認識されません」という結果を返します。したがって、カール要求が不正です。
私はDockerフォーラムで質問してくれて、少し助けました。 Docker APIをカールで使用する方法についてインターネット上のどこにも適切なドキュメントがないことに驚いていますか、それともそれほど明白で何かを理解できませんか?
証明書のエラーが表示されます。 curlコマンドラインに '-k'を追加すれば、curlは不明な証明書を受け入れるでしょうか?それは問題を解決しますか?その質問に対する答えは、あなたが解決策を探す必要がある場所を理解するのに役立ちます。 – larsks
**証明書は問題ではありません。フィルタを使用しない場合は、必要な情報をカールできます。 p.s. -kは何もしません – Stobor