通过传递一些复杂的结构来发出 cURL 请求
当使用 cURL
对 Docker API
进行一些查询时,传递一些复杂的结构可能有点棘手。让我们说,获取图像列表允许使用过滤器作为查询参数,这必须是 map[string][]string
的 JSON
表示(关于 Go
中的地图,你可以在这里找到更多 )。
以下是如何实现这一目标:
curl --unix-socket /var/run/docker.sock \
-XGET "http:/v1.29/images/json" \
-G \
--data-urlencode 'filters={"reference":{"yourpreciousregistry.com/path/to/image": true}, "dangling":{"true": true}}'
这里 -G
标志用于指定 --data-urlencode
参数中的数据将用于 HTTP GET
请求而不是否则将使用的 POST
请求。数据将通过 ?
分隔符附加到 URL。