根據https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/list-tasks,過濾器只能用於獲取具有特定服務名稱的正在運行的容器。出於某種原因,我收到了所有任務的完整列表,無論他們的姓名或期望的狀態如何。我無法找到任何使用Docker API的JSON請求使用curl的適當示例。 我使用下面的命令:Docker API無法應用JSON過濾器
A)
捲曲-X GET -H 「內容類型:應用/ JSON」 -d「{ 「過濾器」:[{ 「服務」: 「demo」,「desired-state」:「running」}]}'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 is not recognized。」,所以我猜這個curl請求是畸形的。
我問過Docker論壇,他們幫了一點。我驚訝於互聯網上的任何地方都沒有關於如何使用Docker API進行卷曲的適當文檔,或者它是如此明顯,我不明白什麼?
您收到證書錯誤。如果只是在curl命令行中添加'-k',會導致curl接受未知證書?這能解決問題嗎?這個問題的答案可能有助於找出你需要尋找解決方案的地方。 – larsks
**證書不是問題,如果我不使用過濾器,我可以捲曲所需的信息。附:添加-k什麼也不做 – Stobor