Docker 容器网络管理

type
Post
status
Published
date
Feb 24, 2026
slug
summary
tags
运维
网络
docker
category
技术分享
icon
password

一、Docker 网络工作模式

支持的四种网络模式

  • bridge:桥接模式(默认)
  • host:主机模式
  • container:容器共享模式
  • none:无网络模式
查看现有网络:

二、四种网络模式详解

1. Bridge 模式

  • 实质:NAT 模式
  • SNAT:容器访问外部时进行源地址转换
  • DNAT:通过 -p-P 映射容器端口到宿主机
  • 注意:需避免端口冲突

2. Host 模式

  • 容器与宿主机共享同一网络命名空间
  • 示例:
    • 潜在问题:容易出现端口冲突

    3. Container 模式

    • 新容器与已有容器共享网络命名空间
    • 示例:
      • 优势:减少通信时的网络消耗

      4. None 模式

      • 容器没有自己的网络命名空间
      • 示例:

        5、自定义模式

        5.1 为什么需要自定义网络
        • 默认 bridge 网络功能有限
        • 需要容器间通过名称通信
        • 实现网络隔离和安全性
        • 支持更复杂的网络拓扑
        • 注意:网段不要冲突
        5.2 自定义网络类型
        Bridge 自定义网络
        连接容器到网络
        断开网络连接
         

        三、Flannel + Etcd 网络方案

        1. Flannel 工作原理

        • 解决的问题:跨物理机的容器间通信
        • 实现方式
          • notion image
            1. 改变容器 IP 分配方式
            1. 建立特殊线路连接容器网络

        2. Flannel 网络部署

        2.1 环境描述

        • 192.168.140.10:docker/flannel/etcd
        • 192.168.140.11:docker/flannel

        2.2 安装配置 Etcd 数据库

        配置内容:
        启动服务:

        2.3 安装配置 Flannel

        2.3.1 安装 Flannel

        配置内容:

        2.3.2 在 Etcd 中写入 Flannel 网络信息

        2.3.3 启动 Flannel

        2.3.4 配置 Flannel 接管 Docker0

        编辑 Docker 服务文件:
        ExecStart 中添加 $DOCKER_NETWORK_OPTIONS
        重启服务:

        2.4 验证配置

        • 检查 ifconfig docker0 确认 IP 段已改为 Flannel 分配
        • 查看 Flannel 生成的 Docker 配置:

          四、测试容器通信

          1. 修改防火墙策略

          2. 测试跨主机容器通信


          五、核心知识点总结

          • Bridge 模式:适合单机容器网络,默认选择
          • Host 模式:高性能但易冲突,适合网络性能要求高的场景
          • Container 模式:容器间紧密通信,共享网络栈
          • None 模式:完全自定义网络配置
          • Flannel:解决跨主机容器通信,需配合 Etcd 进行配置管理

          Loading...