2018年11月16日金曜日

Docker (remote) API

Ref: https://docs.docker.com/develop/sdk/
Ref: https://docs.docker.com/develop/sdk/examples/

root@ubuntu:~# docker -v
Docker version 17.05.0-ce, build 89658be

Dockerのバージョンが17.05だと、APIバージョンは1.29?
Ref: https://docs.docker.com/engine/api/v1.29/


特定のコンテナのログを出力

https://docs.docker.com/engine/api/v1.29/#operation/ContainerLogs

curl --unix-socket /var/run/docker.sock "http:/v1.29/containers/21b9f7a811ee/logs?stdout=1"

コンテナリスト

curl -s -f --unix-socket /var/run/docker.sock http:/v1.29/containers/json | python -m json.tool

フィルターしたい

Ref: https://stackoverflow.com/questions/28054203/docker-remote-api-filter-exited

curl -s -f --unix-socket /var/run/docker.sock "http:/v1.29/containers/json" -G --data-urlencode 'all=1' --data-urlencode 'filters={"status":["running"]}' | python -m json.tool

ダブルクォートじゃないと500エラーになった。