# docker network inspect

## 描述

显示一个或多个 Docker 网络的详细信息。

默认情况下，该命令以 JSON 格式输出网络的完整配置和状态信息，包括网络驱动、子网、IP 范围、连接的容器等。

## 用法

```bash
docker network inspect [OPTIONS] NETWORK [NETWORK...]
```

你可以同时检查多个网络，只需在命令后依次列出它们的名称或 ID。

## 选项

| 选项                | 默认值   | 描述                                                                                                                                         |
| ----------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `-f`, `--format`  | 无     | 使用自定义模板格式化输出： • `'json'`：以紧凑 JSON 格式输出 • `'TEMPLATE'`：使用 Go 模板语法自定义输出格式 更多格式说明请参见：[Docker 输出格式化指南](https://docs.docker.com/go/formatting/) |
| `-v`, `--verbose` | false | 启用详细诊断输出（主要用于调试，可能包含驱动特定的内部信息）                                                                                                             |

## 示例

### 1. 查看单个网络的详细信息

```bash
$ docker network inspect bridge
```

输出示例（节选）：

```json
[
  {
    "Name": "bridge",
    "Id": "7ea29fc14122...",
    "Driver": "bridge",
    "Scope": "local",
    "IPAM": {
      "Driver": "default",
      "Config": [
        {
          "Subnet": "172.17.0.0/16",
          "Gateway": "172.17.0.1"
        }
      ]
    },
    "Containers": {
      "3a2b4c5d6e7f...": {
        "Name": "my_container",
        "EndpointID": "abc123...",
        "MacAddress": "02:42:ac:11:00:02",
        "IPv4Address": "172.17.0.2/16",
        "IPv6Address": ""
      }
    },
    "Options": {
      "com.docker.network.bridge.default_bridge": "true"
    }
  }
]
```

### 2. 同时检查多个网络

```bash
$ docker network inspect bridge host my_custom_network
```

输出将是一个包含多个网络对象的 JSON 数组。

### 3. 使用 `--format` 提取特定字段（Go 模板）

例如，只显示网络名称和驱动：

```bash
$ docker network inspect --format '{{.Name}} {{.Driver}}' bridge
bridge bridge
```

或者提取所有连接到某网络的容器名称：

```bash
$ docker network inspect --format '{{range .Containers}}{{.Name}} {{end}}' my_network
web_app db_cache
```

### 4. 以纯 JSON 格式输出（便于脚本处理）

```bash
$ docker network inspect --format json my_network
{"Name":"my_network","Id":"..."}
```

> 注意：`--format 'json'` 是 Docker CLI 提供的便捷写法，等价于使用完整的 Go 模板 `{{json .}}`。

### 5. 启用详细模式（`--verbose`）

```bash
$ docker network inspect --verbose my_overlay_network
```

此选项会输出额外的诊断信息，例如网络插件的状态、底层网络接口详情等，具体取决于所使用的网络驱动（如 `overlay`、`macvlan` 或第三方插件）。

### 输出字段说明（常见）

* **Name**：网络名称
* **Id**：网络唯一标识符
* **Created**：创建时间
* **Scope**：作用域（`local`、`swarm` 等）
* **Driver**：网络驱动（如 `bridge`、`overlay`、`host`、`macvlan`）
* **EnableIPv6**：是否启用 IPv6
* **IPAM**：IP 地址管理配置（子网、网关、IP 范围等）
* **Internal**：是否为内部网络（禁止外部访问）
* **Attachable**：是否允许手动连接正在运行的容器（对 Swarm overlay 网络有效）
* **Ingress**：是否为 Swarm 的入口网络
* **Containers**：当前连接到该网络的容器列表，包含 IP、MAC 地址等
* **Options**：创建网络时指定的驱动选项
* **Labels**：用户定义的标签（键值对）
