gpt4 book ai didi

由于网络问题,Docker 无法使用 VPN

转载 作者:行者123 更新时间:2023-12-03 20:04:51 29 4
gpt4 key购买 nike

出于某种原因,我的 VPN (NordVPN) 干扰了 Docker:

make start
docker-compose -f docker-compose/docker-compose.base.yml -f docker-compose/docker-compose.dev.yml up -d
doCreating network "docker-compose_default" with the default driver
ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
cmake: *** [Makefile:59: up_dev] Error 1
这个问题似乎与网络有关。不过,我不确定如何对其进行故障排除或修复。禁用我的 VPN 并运行 sudo systemctl restart docker 后, Docker 工作正常。
环境
  • Ubuntu 20.04 LTS
  • Docker 版本 19.03.8,构建 afacb8b7f0
  • NordVPN 版本 3.7.4
  • 最佳答案

    TL;博士
    这里的问题是 docker/docker-compose 无法找到合适的地址范围来将子网分配给新的内部网络,因为 VPN 会为所有 IP 地址添加路由。
    解决方案:

  • docker-compose.yml 中手动 define the network and its address range 或使用 existing one => 需要更改所有 docker-compose.yml 文件,由于硬编码地址,这些文件也可能难以移植。
  • 在 VPN 之前启动 docker/all your services => 在所有情况下都可能不可行
  • 重新配置您的 VPN 的路由配置以排除 docker 使用的范围 => 将增加您的 VPN 配置的复杂性,并且如果操作错误可能会泄漏用于 VPN 的流量

  • 解释
    默认情况下 docker-compose sets up a dedicated docker network for each project 即 docker 主机上的虚拟网桥设备。
    要将子网范围和网关地址分配给网络, docker 会尝试从可能的范围池中选择一个范围。它检查所选范围是否与已绑定(bind)到已连接网络设备的范围/路由重叠,以防止主机使用的地址范围冲突问题。
    另一方面,VPN 可以添加自己的路由,以便通过 VPN 隧道重定向所有流量。因此, docker 将无法找到“未使用”的地址范围来分配给新网络。
    有关这方面的更多信息,请参阅 the answers to this questionrespective issue on GitHub

    关于由于网络问题,Docker 无法使用 VPN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63259263/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com