You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法以Fixed List模式运行GridDB Docker容器的问题求助

解决GridDB Docker容器Fixed List模式启动报错问题

问题现象

使用以下命令启动Fixed List模式的GridDB容器时:

docker run -dt --network="host" -e NOTIFICATION_MEMBER=1 griddb/griddb:latest

出现报错:

Fixed List mode
Execution failed. See message logs
/start-griddb.sh: line 94: exec: griddb: not found

但采用组播模式启动时完全正常。

原因分析

  1. Host网络模式的环境变量冲突:当使用--network="host"时,容器直接复用宿主机的网络命名空间,可能导致容器内的PATH环境变量被宿主机覆盖,GridDB的二进制文件路径未被包含,启动脚本找不到griddb命令。
  2. NOTIFICATION_MEMBER参数格式错误:Fixed List模式要求该参数指定完整的[节点IP]:[通知端口]格式,仅传入1无法被脚本正确解析,导致启动流程异常。

解决方案

方案1:放弃Host网络模式,使用端口映射+正确的节点配置

改用Docker默认桥接网络,同时指定完整的节点地址和端口映射:

docker run -dt \
  -p 10001:10001 -p 10002:10002 \
  -e NOTIFICATION_MODE=fixed_list \
  -e NOTIFICATION_MEMBER=172.17.0.2:10001 \
  griddb/griddb:latest
  • 注:172.17.0.2是容器默认桥接网络下的IP,可通过docker inspect <容器ID>查看实际IP,或通过--hostname指定自定义主机名,用主机名替代IP。

方案2:保留Host网络模式,修正环境变量与参数

如果必须使用Host网络,需要确保容器内能找到griddb命令,并传入正确的节点地址:

  1. 先通过组播模式启动容器,进入容器查看griddb的实际路径:
docker exec -it <组播模式容器ID> bash
which griddb  # 输出类似/usr/bin/griddb
  1. 启动Fixed List模式时,指定PATH环境变量并传入完整的宿主机IP+端口:
docker run -dt \
  --network="host" \
  -e PATH=/usr/bin:$PATH \
  -e NOTIFICATION_MODE=fixed_list \
  -e NOTIFICATION_MEMBER=192.168.1.100:10001 \
  griddb/griddb:latest
  • 替换192.168.1.100为你的宿主机实际IP。

方案3:直接指定griddb命令的绝对路径

跳过启动脚本的路径解析,直接调用griddb的绝对路径启动:

docker run -dt \
  --network="host" \
  -e NOTIFICATION_MODE=fixed_list \
  -e NOTIFICATION_MEMBER=192.168.1.100:10001 \
  griddb/griddb:latest /usr/bin/griddb

内容的提问来源于stack exchange,提问作者Arqish Mithani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:27