https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/list-tasks에 따르면 필터는 특정 서비스 이름으로 컨테이너를 실행하는 데만 사용할 수 있습니다. 웬일인지, 나는 이름이나 원하는 상태에 관계없이 모든 작업의 전체 목록을 얻고있다. Docker API로 JSON 요청과 함께 컬을 사용하는 적절한 예를 찾을 수 없습니다.Docker API는 json 필터를 적용 할 수 없습니다.
A)
컬 -X GET -H "콘텐츠 형식 : 응용 프로그램/JSON" 나는 다음과 같은 명령을 사용하고 -d '{ "필터": [{ "서비스" "데모", "원하는 상태": "실행 중"}}} 'https://HOSTNAME:2376/tasks --cert ~/.docker/cert.pem --key ~/.docker/key.pem --cacert ~/.docker/ca. PEM
은 012,399,346,991,255에서 작업 뭔가를 얻으려고 모두에게
B) 를 돌려줍니다 6,
컬 https://HOSTNAME:2376/containers/json?all=1&filters= {22status %의 22 % : 22 % 22exited %]} --cert ~/.docker/cert.pem --key ~/.docker/key.pem --cacert ~ /. docker/ca.pem
"curl : (60) 피어의 인증서 발급자가 인식되지 않습니다."를 반환하므로 컬 요청이 잘못되었다고 생각합니다.
나는 Docker 포럼에 질문을했으며 조금 도와주었습니다. Docker API를 사용하여 컬을 사용하는 방법에 관한 인터넷상의 적절한 문서가 없다는 것에 놀랍니다. 또는 너무 분명해서 뭔가를 이해하지 못합니까?
인증서 오류가 발생했습니다. curl 명령 줄에'-k'를 추가하면 curl이 알려지지 않은 인증서를 받아 들일 수 있습니까? 그게 문제를 해결합니까? 이 질문에 대한 답은 해결책을 찾아야하는 곳을 파악하는 데 도움이 될 수 있습니다. – larsks
** 인증서가 문제가되지 않습니다. 필터를 사용하지 않으면 필요한 정보를 말릴 수 있습니다. 추신. -k는 아무 것도하지 않음 – Stobor