Ubuntu系统Docker运行OpenRouteService出现driving-car路由配置错误
报错排查与解决方案
1. 检查Graph文件夹构建状态
- 确认docker挂载的graphs目录下是否存在
driving-car对应的子目录,正常构建完成后会生成以profile命名的文件夹,里面有graph数据文件 - 查看容器启动日志,确认
driving-carprofile的graph构建是否完成,执行命令docker logs <你的ors容器名> | grep "driving-car",如果有报错提示构建失败,需要排查OSM数据是否完整、磁盘空间是否充足 - 如果你是首次启动服务,graph构建需要耗时,小区域OSM数据需要数分钟,大区域(如全国)可能需要数小时,构建未完成时请求对应profile会触发该报错
2. 核对配置文件挂载与生效状态
- 确认你修改的配置文件是否正确挂载到容器内部对应路径,docker部署时默认需要将本地的
ors-config.yml挂载到/home/ors/ors-config.yml,如果你修改的是本地未挂载的配置文件,修改不会生效 - 进入容器内部核对实际生效的配置,执行命令
docker exec -it <你的ors容器名> cat /home/ors/ors-config.yml | grep -A 10 "profiles",确认driving-car的enabled字段为true - 检查配置中
profiles.active数组是否包含driving-car,仅单独配置profile参数但未加入active列表不会生效
3. 排查请求参数格式错误
- 确认请求URL的profile参数拼写正确,没有拼写错误如
driving_car、drivingcar等大小写、符号错误 - 如果你调用的是v2版本接口,确认路径格式正确,例如POST请求路径应为
/ors/v2/directions/driving-car,版本或路径错误也会触发profile匹配失败
4. 修复操作步骤
如果上述排查确认配置正确、但graph未构建,按以下步骤重置:
- 停止ors容器:
docker stop <ors容器名> - 删除本地挂载的graphs目录下所有旧文件:
rm -rf ./graphs/* - 重新启动容器,等待graph构建完成后再发起请求
内容的提问来源于stack exchange,提问作者lbosnyak
相关产品推荐
相关产品推荐

