docker network ls
描述 | 列出網路 |
---|---|
用法 | docker network ls [選項] |
別名 | docker network list |
描述
列出 Engine daemon
知曉的所有網路。這包括跨叢集中多個主機的所有網路。
選項
選項 | 預設值 | 描述 |
---|---|---|
-f, --filter | 提供篩選值(例如 driver=bridge ) | |
--format | 使用自定義模板格式化輸出 'table': 以帶列標題的表格格式列印輸出(預設) 'table TEMPLATE': 使用給定的 Go 模板以表格格式列印輸出 'json': 以 JSON 格式列印 'TEMPLATE': 使用給定的 Go 模板列印輸出。 有關使用模板格式化輸出的更多資訊,請參閱https://docs.docker.net.tw/go/formatting/ | |
--no-trunc | 不截斷輸出 | |
-q, --quiet | 只顯示網路 ID |
示例
列出所有網路
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
7fca4eb8c647 bridge bridge local
9f904ee27bf5 none null local
cf03ee007fb4 host host local
78b03ee04fc4 multi-host overlay swarm
列出網路時不截斷 ID 列 (--no-trunc)
使用 --no-trunc
選項顯示完整的網路 ID
$ docker network ls --no-trunc
NETWORK ID NAME DRIVER SCOPE
18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3 none null local
c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 host host local
7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185 bridge bridge local
95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd foo bridge local
63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 dev bridge local
過濾 (--filter)
篩選標誌(-f
或 --filter
)的格式是 key=value
對。如果有多個篩選器,則傳遞多個標誌(例如 --filter "foo=bar" --filter "bif=baz"
)。多個篩選標誌作為 OR
篩選器組合。例如,-f type=custom -f type=builtin
返回 custom
和 builtin
網路。
目前支援的過濾器有:
- 驅動程式
- id(網路 ID)
- label (
label=<key>
或label=<key>=<value>
) - name(網路名稱)
- scope (
swarm|global|local
) - type (
custom|builtin
)
驅動程式
driver
篩選器根據其驅動程式匹配網路。
以下示例匹配具有 bridge
驅動程式的網路
$ docker network ls --filter driver=bridge
NETWORK ID NAME DRIVER SCOPE
db9db329f835 test1 bridge local
f6e212da9dfd test2 bridge local
ID
id
篩選器匹配網路 ID 的全部或部分。
以下篩選器匹配所有 ID 包含 63d1ff1f77b0...
字串的網路。
$ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
NETWORK ID NAME DRIVER SCOPE
63d1ff1f77b0 dev bridge local
你也可以像這樣篩選 ID 中的子字串
$ docker network ls --filter id=95e74588f40d
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
$ docker network ls --filter id=95e
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
標籤
label
篩選器根據是否存在 label
或 label
和值來匹配網路。
以下篩選器匹配具有 usage
標籤的網路,無論其值如何。
$ docker network ls -f "label=usage"
NETWORK ID NAME DRIVER SCOPE
db9db329f835 test1 bridge local
f6e212da9dfd test2 bridge local
以下篩選器匹配具有 usage
標籤且值為 prod
的網路。
$ docker network ls -f "label=usage=prod"
NETWORK ID NAME DRIVER SCOPE
f6e212da9dfd test2 bridge local
名稱
name
篩選器匹配網路名稱的全部或部分。
以下篩選器匹配所有名稱包含 foobar
字串的網路。
$ docker network ls --filter name=foobar
NETWORK ID NAME DRIVER SCOPE
06e7eef0a170 foobar bridge local
你也可以像這樣篩選名稱中的子字串
$ docker network ls --filter name=foo
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
06e7eef0a170 foobar bridge local
作用域
scope
篩選器根據其作用域匹配網路。
以下示例匹配具有 swarm
作用域的網路
$ docker network ls --filter scope=swarm
NETWORK ID NAME DRIVER SCOPE
xbtm0v4f1lfh ingress overlay swarm
ic6r88twuu92 swarmnet overlay swarm
以下示例匹配具有 local
作用域的網路
$ docker network ls --filter scope=local
NETWORK ID NAME DRIVER SCOPE
e85227439ac7 bridge bridge local
0ca0e19443ed host host local
ca13cc149a36 localnet bridge local
f9e115d2de35 none null local
型別
type
篩選器支援兩個值;builtin
顯示預定義網路(bridge
、none
、host
),而 custom
顯示使用者定義網路。
以下篩選器匹配所有使用者定義網路
$ docker network ls --filter type=custom
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
63d1ff1f77b0 dev bridge local
透過此標誌,可以進行批次清理。例如,使用此篩選器刪除所有使用者定義網路
$ docker network rm `docker network ls --filter type=custom -q`
嘗試刪除附加有容器的網路時將發出警告。
格式化輸出 (--format)
格式化選項(--format
)使用 Go 模板美觀地列印網路輸出。
Go 模板的有效佔位符如下所示
佔位符 | 描述 |
---|---|
.ID | 網路 ID |
.Name | 網路名稱 |
.Driver | 網路驅動程式 |
.Scope | 網路作用域(local、global) |
.IPv6 | 網路是否啟用 IPv6。 |
.Internal | 網路是否為內部網路。 |
.Labels | 分配給該網路的所有標籤。 |
.Label | 此網路的特定標籤的值。例如 {{.Label "project.version"}} |
.CreatedAt | 網路建立時間 |
使用 --format
選項時,network ls
命令將按模板聲明確切地輸出資料,或者在使用 table
指令時,也包含列標題。
以下示例使用不帶標題的模板,並輸出所有網路的 ID
和 Driver
條目,以冒號 (:
) 分隔
$ docker network ls --format "{{.ID}}: {{.Driver}}"
afaaab448eb2: bridge
d1584f8dc718: host
391df270dc66: null
要以 JSON 格式列出所有網路,請使用 json
指令
$ docker network ls --format json
{"CreatedAt":"2021-03-09 21:41:29.798999529 +0000 UTC","Driver":"bridge","ID":"f33ba176dd8e","IPv6":"false","Internal":"false","Labels":"","Name":"bridge","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.772806592 +0000 UTC","Driver":"host","ID":"caf47bb3ac70","IPv6":"false","Internal":"false","Labels":"","Name":"host","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.752212603 +0000 UTC","Driver":"null","ID":"9d096c122066","IPv6":"false","Internal":"false","Labels":"","Name":"none","Scope":"local"}