无法使用 Ubuntu 中的 docker 将 OSRM 前端与 OSRM 后端连接
Not able to connect OSRM frontend with OSRM backend using docker in Ubuntu
我曾使用以下命令来处理 osrm/backend:
$docker pull osrm/osrm-backend
$wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
$docker run -t -i -d -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm
现在 osrm/backend 得到处理。我可以使用这个 URL http://localhost:5000 浏览后端
浏览后,我在页面上得到了这个
{"message":"URL string malformed close to position 1: \"/\"","code":"InvalidUrl"}
然后我运行下面的命令来处理osrm/frontend:
$docker pull osrm/osrm-frontend
$docker run -p 9966:9966 osrm/osrm-frontend
osrm/frontend 得到处理,但是当我尝试使用 URL http://localhost:9966 浏览前端时,我发现前端未与后端连接。
我哪里错了或错过了什么步骤?
我们需要 运行 在 2 个不同的屏幕上并行执行后端和前端命令。
前端命令会有一个小的变化:
"$docker 运行 -p 9966:9966 -e OSRM_BACKEND='http://localhost:5000' osrm/osrm-frontend"
我曾使用以下命令来处理 osrm/backend:
$docker pull osrm/osrm-backend
$wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
$docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
$docker run -t -i -d -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm
现在 osrm/backend 得到处理。我可以使用这个 URL http://localhost:5000 浏览后端 浏览后,我在页面上得到了这个
{"message":"URL string malformed close to position 1: \"/\"","code":"InvalidUrl"}
然后我运行下面的命令来处理osrm/frontend:
$docker pull osrm/osrm-frontend
$docker run -p 9966:9966 osrm/osrm-frontend
osrm/frontend 得到处理,但是当我尝试使用 URL http://localhost:9966 浏览前端时,我发现前端未与后端连接。
我哪里错了或错过了什么步骤?
我们需要 运行 在 2 个不同的屏幕上并行执行后端和前端命令。 前端命令会有一个小的变化: "$docker 运行 -p 9966:9966 -e OSRM_BACKEND='http://localhost:5000' osrm/osrm-frontend"