通过传递一些复杂的结构来发出 cURL 请求

当使用 cURLDocker API 进行一些查询时,传递一些复杂的结构可能有点棘手。让我们说,获取图像列表允许使用过滤器作为查询参数,这必须是 map[string][]stringJSON 表示(关于 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。