gpustack 是不是只能用docker host网络模式启动,用桥接模式会报错OSError: ...
बनाया गया: 25 नवंबर 2025
का उपयोग करके उत्तर दिया गया GPT-5.1 Pro द्वारा Chat01
बनाया गया: 25 नवंबर 2025
का उपयोग करके उत्तर दिया गया GPT-5.1 Pro द्वारा Chat01
gpustack 是不是只能用docker host网络模式启动,用桥接模式会报错OSError: [Errno 99] Cannot assign requested address
不是的,GPUStack 支持 bridge 网络模式,并不是只能用 --network=host。你遇到的
OSError: [Errno 99] Cannot assign requested address
基本可以肯定是绑定了一个容器里不存在的 IP 地址,而不是 bridge 模式本身不支持。
在 GPUStack 的 CLI 文档里可以看到:
--host 默认值是 0.0.0.0(监听所有网卡)--port 默认是 80FAQ 里还有一个“不用 host 网络”的示例(就是 bridge 模式):
bashdocker run -d --name gpustack \ --restart=unless-stopped \ --gpus all \ -p 9090:80 \ -p 10150:10150 \ -p 40000-41024:40000-41024 \ -p 50000-51024:50000-51024 \ --ipc=host \ -v gpustack-data:/var/lib/gpustack \ gpustack/gpustack --worker-ip your_host_ip
这个例子里完全没有用 --network=host,说明 bridge 是官方支持的。
OSError: [Errno 99] Cannot assign requested address 的典型原因是:
程序尝试绑定到一个本机没有的 IP,在 Docker 里尤其常见。
结合 GPUStack 的实现和文档,很可能是:
你改了 --host / GPUSTACK_HOST
bashgpustack start --host 192.168.x.x ...
或者用了某些只在宿主上存在的地址(包含 IPv6、别名等),容器里同样不存在,也会触发同样的错误。
简单说:
- host 模式:容器和宿主用同一张网卡,你随便写宿主机 IP 都能绑上。
- bridge 模式:容器有自己的 IP,不能直接绑宿主机 IP,只能绑
0.0.0.0/容器 IP。
--host让 GPUStack 用默认值:
--host 参数GPUSTACK_HOST--host 0.0.0.0,在容器里总是合法的。然后用类似下面的命令(单机部署示例):
bashdocker run -d --name gpustack \ --restart=unless-stopped \ --gpus all \ -p 9090:80 \ -p 10150:10150 \ -p 40000-41024:40000-41024 \ -p 50000-51024:50000-51024 \ --ipc=host \ -v gpustack-data:/var/lib/gpustack \ gpustack/gpustack \ --worker-ip <你的宿主机IP> # 这个只是告诉集群别的节点该怎么访问你
注意:
--network=host,就是默认的 bridge。--worker-ip 是注册给 server 用的“对外地址”,不会用来绑定监听端口,所以可以写成宿主机 IP。--host那就改成:
bashgpustack start --host 0.0.0.0 ...
或者在 Docker 里:
bashdocker run ... gpustack/gpustack --host 0.0.0.0 ...
千万别写宿主机的 192.168.x.x / 10.x.x.x 之类,否则在 bridge 模式一定会出 Errno 99。
--network=host?所以官方文档和 FAQ 示例经常用 host 模式,并不是因为 只能 用 host 模式,而是因为 省心。
--host 绑到了一个不存在的 IP(多半是宿主机 IP)。--host 保持为默认的 0.0.0.0(或干脆不写)-p 把所需端口映射出来--worker-ip 写宿主机 IP 给别的节点访问即可。如果你愿意,可以把你现在用的 docker run / docker-compose 配置贴出来,我可以帮你直接改成一个不会报 Errno 99 的版本。