# docker network disconnect

## 描述

将容器从指定的网络中断开连接。

断开后，该容器将无法再通过该网络与同一网络中的其他容器通信。

## 用法

```bash
docker network disconnect [OPTIONS] NETWORK CONTAINER
```

## 选项

| 选项              | 默认值   | 描述                        |
| --------------- | ----- | ------------------------- |
| `-f`, `--force` | false | 强制断开容器与网络的连接（即使容器已停止或不存在） |

## 示例

### 1. 将正在运行的容器从网络中断开

```bash
$ docker network disconnect multi-host-network container1
```

执行后，`container1` 将不再属于 `multi-host-network` 网络，也无法通过该网络与其他容器通信。

### 2. 强制断开已停止的容器

如果容器已经停止，但你仍希望将其从网络中移除（例如清理残留配置），可以使用 `--force` 选项：

```bash
$ docker network disconnect --force multi-host-network container1
```

> **注意**：即使容器已不存在（例如已被删除），使用 `--force` 也可以清除网络中可能残留的元数据引用（取决于网络驱动实现）。

### 3. 验证断开是否成功

使用 `docker network inspect` 查看网络详情，确认容器不再出现在 `Containers` 列表中：

```bash
$ docker network inspect multi-host-network
```

输出中应不再包含目标容器的信息。

### 注意事项

* 容器必须至少连接到一个网络才能运行。但你可以将其从**额外的**网络中断开，只要保留至少一个主网络连接。
* 对于使用默认 `bridge` 网络的容器，不能直接使用 `disconnect` 命令将其从 `bridge` 网络断开。这是因为 `bridge` 网络在容器创建时自动绑定，且不支持动态断开。如需避免使用默认 bridge 网络，请在启动容器时通过 `--network` 指定其他网络或使用 `--network=none`。
* 断开操作不会删除容器本身，仅移除其在网络中的连接。
