“[错误]找不到输入文件!” Docker OSRM

Mad*_*rdt 7 docker osrm

我将先说我是新手。

尽管如此,我正在尝试使用 Docker 运行 OSRM。我尝试运行他们在 github 上列出的第一个 OSRM 后端 docker 命令:

docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf

需要注意的是,我将 OSRM 后端中的原始命令“${PWD}”更改为“%cd%”,因为我在 Windows 10 上运行 docker,而不是 Linux。

我还使用了丹麦的 Geofabrik 剪纸而不是柏林(他们在 Github 上的演示版本中使用了它)。

这是我在命令提示符下运行的内容:

docker run -t -v "%cd%":/data osrm/osrm-backend osrm-extract -p /opt/foot.lua /data/denmark-latest.osm.pbf

正如您在所附照片中看到的,它开始拉动“osrm/osrm-backend:最新”。但我收到错误消息:“[error] 输入文件 /data/denmark-latest.osm.pbf 未找到!”这很奇怪,因为我将 denmark-latest.osm.pbf 存储在 c -->docker --> 中data 以及我桌面上名为 osrm-backend-master 的文件夹中的副本,其中配置文件位于(我的情况下为 foot.lua),并且在名为“data”的文件夹中我存储了 denmark-latest.osm.pbf。

有几篇文章提到“共享驱动器”选项作为我的问题的解决方案,但在我的设置中,我没有“共享驱动器”选项 - 我认为这是因为我在 WSL 2 上运行(尽管我不确定该选项) )。

CMD提示符图片:

命令提示符

你们谁能看出我做错了什么吗?

小智 1

不久前我也遇到过类似的错误。我尝试过类似的事情,但我真的不记得了:

docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/denmark-latest.osm.pbf
Run Code Online (Sandbox Code Playgroud)

此外,您可以在第一个“数据出现”之后添加额外的“/”,例如:

docker run -t -v "${PWD}:/data/" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/denmark-latest.osm.pbf
Run Code Online (Sandbox Code Playgroud)

或者您可以进入新data文件夹并运行任何这些命令。