Docker Network 命令详解:构建容器间通信的桥梁

简介: 本文深入解析Docker网络命令,涵盖基础网络类型与核心操作。从查看、创建、连接到清理网络,结合实用示例,助你掌握容器间通信管理,提升微服务架构下的网络配置与排障能力。

在现代微服务架构中,容器间的网络通信是至关重要的一环。Docker 提供了强大的网络功能,而 docker network 命令则是管理这些网络功能的核心工具。无论你是 Docker 新手还是经验丰富的开发者,深入理解 Docker 网络命令都将极大地提升你的容器管理能力。

Docker 网络基础

在深入了解具体命令之前,让我们先快速回顾一下 Docker 的网络基础。Docker 支持多种网络驱动:

  • bridge:默认网络驱动,适用于独立容器间通信
  • host:移除容器与 Docker 主机间的网络隔离
  • overlay:连接多个 Docker 守护进程,实现 Swarm 服务间通信
  • macvlan:为容器分配 MAC 地址,使其在物理网络中显示为物理设备
  • none:禁用所有网络

Docker Network 命令详解

1. 查看网络列表

docker network ls

这是最基础的命令,用于查看所有可用的 Docker 网络:

$ docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
aabbccddeeff   bridge    bridge    local
ffeeddccbbaa   host      host      local
112233445566   none      null      local

常用选项:

  • -q, --quiet:只显示网络 ID
  • --no-trunc:不截断输出
  • -f, --filter:根据条件过滤
# 只显示网络ID
docker network ls -q

# 显示完整信息
docker network ls --no-trunc

# 过滤驱动类型为bridge的网络
docker network ls --filter driver=bridge

2. 创建网络

docker network create

创建自定义网络是实现复杂容器通信的第一步:

# 创建基础网络
docker network create my-network

# 创建带子网的自定义网络
docker network create \
  --driver bridge \
  --subnet 172.20.0.0/16 \
  --gateway 172.20.0.1 \
  my-custom-network

# 创建带IPAM配置的网络
docker network create \
  --ipam-driver default \
  --ipam-opt subnet=192.168.100.0/24 \
  --ipam-opt gateway=192.168.100.1 \
  my-ipam-network

常用选项:

  • -d, --driver:指定网络驱动(默认:bridge)
  • --subnet:指定子网 CIDR
  • --gateway:指定网关 IP
  • --ip-range:指定容器 IP 范围
  • --label:为网络添加元数据

3. 查看网络详情

docker network inspect

深入了解网络的配置和连接状态:

# 查看单个网络详情
docker network inspect my-network

# 查看多个网络详情
docker network inspect network1 network2

# 格式化输出(只显示网络名称和驱动)
docker network inspect --format='{
   {.Name}}: {
   {.Driver}}' my-network

示例输出:

[
    {
   
        "Name": "my-network",
        "Id": "aabbccddeeff...",
        "Created": "2023-10-01T10:00:00Z",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
   
            "Driver": "default",
            "Config": [
                {
   
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"
                }
            ]
        },
        "Containers": {
   
            "container1": {
   
                "Name": "web-app",
                "EndpointID": "...",
                "MacAddress": "02:42:ac:14:00:02",
                "IPv4Address": "172.20.0.2/16"
            }
        }
    }
]

4. 连接容器到网络

docker network connect

将运行中或已停止的容器连接到指定网络:

# 连接运行中的容器
docker network connect my-network my-container

# 连接时指定IP地址
docker network connect --ip 172.20.0.100 my-network my-container

# 连接时指定别名
docker network connect --alias db --alias database my-network my-container

常用选项:

  • --ip:指定 IPv4 地址
  • --ip6:指定 IPv6 地址
  • --alias:为容器添加网络别名
  • --link:连接到另一个容器

5. 断开容器与网络的连接

docker network disconnect

从网络中移除容器:

# 强制断开连接(即使容器正在运行)
docker network disconnect -f my-network my-container

# 普通断开连接
docker network disconnect my-network my-container

6. 删除网络

docker network rm

删除不再需要的网络:

# 删除单个网络
docker network rm my-network

# 删除多个网络
docker network rm network1 network2 network3

# 强制删除(即使有容器连接)
docker network rm -f my-network

7. 清理未使用的网络

docker network prune

清理所有未被容器使用的网络:

# 交互式清理
docker network prune

# 强制清理(无需确认)
docker network prune -f

# 清理时包含指定标签的网络
docker network prune --filter "label=project=test"

常用选项:

  • -f, --force:跳过确认提示
  • --filter:根据条件过滤

总结

Docker network 命令是容器网络管理的核心工具,掌握这些命令能够帮助你:

  • 构建复杂的多容器应用架构
  • 实现容器间的安全通信
  • 优化网络性能和可靠性
  • 快速排查网络问题

通过本文的详细介绍和实战示例,相信你已经对 Docker network 命令有了全面的了解。

目录
相关文章
|
6天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
618 217
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
859 61
|
8天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1309 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
246 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
542 109