首页主机资讯Ubuntu Overlay配置如何实现网络共享

Ubuntu Overlay配置如何实现网络共享

时间2025-11-18 19:57:04发布访客分类主机资讯浏览1024
导读:Ubuntu 上用 Docker Overlay 实现跨主机容器网络共享 一、概念与适用场景 Overlay 网络用于在多个 Docker 主机上为容器提供二层互联,底层通常基于 VXLAN 封装隧道,使容器像在同一局域网中通信。它常用于...

Ubuntu 上用 Docker Overlay 实现跨主机容器网络共享

一、概念与适用场景

  • Overlay 网络用于在多个 Docker 主机上为容器提供二层互联,底层通常基于 VXLAN 封装隧道,使容器像在同一局域网中通信。它常用于多机服务发现、微服务互联、分布式训练等需要跨主机互通的场景。若仅在单主机使用,Overlay 的价值有限。

二、两种常见部署方式

  • 方式一(推荐)使用 Docker Swarm 内置的 Overlay

    • 初始化 Swarm(在管理节点执行):docker swarm init,按提示在其它节点执行 docker swarm join --token < TOKEN> < MANAGER-IP> :2377 加入集群。
    • 创建可附加的 Overlay 网络:docker network create -d overlay --attachable my-overlay(如需固定网段:--subnet 10.22.1.0/24 --gateway 10.22.1.1 my-overlay)。
    • 在任意节点启动容器并接入:docker run -d --name c1 --network my-overlay ubuntu:24.04;跨主机间可直接用容器名或 IP 互通(Swarm 内置 DNS 解析容器名)。
  • 方式二 使用外部 KV 存储(Consul/Etcd/ZooKeeper)管理 Overlay

    • 部署 KV(示例用 Consul):docker run -d -p 8500:8500 --name consul progrium/consul -server -bootstrap,访问 http://:8500 确认健康。
    • 配置各 Docker 守护进程指向 KV(/etc/docker/daemon.json 或 systemd drop-in),例如:
      • { "cluster-store":"consul://< KV-IP> :8500","cluster-advertise":"ens33:2376"}
    • 重启 Docker:systemctl daemon-reload & & systemctl restart docker
    • 创建网络:docker network create -d overlay ov_net1,各节点将自动同步该 global 网络。

三、快速验证与常见问题

  • 验证步骤
    • 连通性:在容器 A 中 ping < 容器B的IP或容器名> ;如需解析验证可用 nslookup/dig 检查服务名。
    • 网络列表:应能看到 overlay 网络且 SCOPE=global(跨主机可见);docker network lsdocker network inspect < net> 查看详情。
  • 常见问题与要点
    • 防火墙/安全组需放行 VXLAN 默认端口 4789/UDP,以及 Swarm 管理端口 2377/TCP(节点间通信)。
    • 单主机上 Overlay 作用有限;跨主机通信需确保底层网络可达、端口开放、时间同步(NTP)。
    • 固定容器 IP 需在创建网络时指定 –subnet/–gateway,并在 docker run 中使用 --ip 分配固定地址。

四、与 OverlayFS 的区别

  • OverlayFS 是容器的存储驱动(联合文件系统),用于分层镜像与写时复制,解决的是“数据/镜像层共享与存储”的问题;而 Overlay 网络解决的是“容器跨主机网络通信”。两者名称相似但职责完全不同,勿混淆。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Overlay配置如何实现网络共享
本文地址: https://pptw.com/jishu/750454.html
Ubuntu Overlay配置如何备份与恢复 如何检查Ubuntu Overlay配置是否正确

游客 回复需填写必要信息