gpt4 book ai didi

Docker 远程 API 过滤器 : filter out network by name

转载 作者:行者123 更新时间:2023-12-04 22:28:46 25 4
gpt4 key购买 nike

我正在尝试使用 Docker HTTP API 1.24 获取 Docker 网络列表并按名称过滤它。

出于某种原因,过滤器的文档非常少,整个 Docker 文档中的一个例子就是这个(并且它有效):

GET /networks?filters={"type":{"custom":true}} HTTP/1.1

令人困惑的是,这个孤独的例子似乎与过滤器的官方 Docker 符号相矛盾:
map[string][]string
在这里讨论:
https://stackoverflow.com/a/28055631/4486909

API 规范也没有多大帮助:
Query parameters:
filters - JSON encoded network list filter. The filter value is one of:
driver=<driver-name> Matches a network’s driver.
id=<network-id> Matches all or part of a network id.
label=<key> or label=<key>=<value> of a network label.
name=<network-name> Matches all or part of a network name.
type=["custom"|"builtin"] Filters networks by type.

http://docs.master.dockerproject.org/engine/reference/api/docker_remote_api_v1.24/#/list-networks

这些不过滤我们的任何东西,返回完整的网络列表。
curl -vg -X GET "v1.24/networks" --data-urlencode 'filters={"name":["MyNetwork"]}'

curl -vg -X GET "v1.24/networks" --data-urlencode 'filters={"name":["MyNetwork":true]}'

curl -vg -X GET "v1.24/networks" --data-urlencode 'filters={"name":"MyNetwork"}'

我究竟做错了什么?非常感谢。

最佳答案

感谢 BMitch valuable hint Docker Debug模式 ,它允许跟踪传入的 HTTP 请求。

关于 Docker GET 请求的 curl 参数的一些说明:

curl -gG -XGET "v1.24/networks" --data-urlencode 'filters={"name":{"MyNetwork":true}}'
-g = disable globbing, necessary for JSON proper proccessing
-G = include --data-urlencode contents into GET

关于Docker 远程 API 过滤器 : filter out network by name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com