Osm file problem with docker

When I add ism file in this directory path docker/my_osm_file and start docker-compose up I have this issue Starting ors-app … error

ERROR: for ors-app  Cannot start service ors-app: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/root/openrouteservice/docker/ukraine_latest.osm.pbf" to rootfs at "/home/ors/ors-core/data/osm_file.pbf": mount /root/openrouteservice/docker/ukraine_latest.osm.pbf:/home/ors/ors-core/data/osm_file.pbf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for ors-app  Cannot start service ors-app: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/root/openrouteservice/docker/ukraine_latest.osm.pbf" to rootfs at "/home/ors/ors-core/data/osm_file.pbf": mount /root/openrouteservice/docker/ukraine_latest.osm.pbf:/home/ors/ors-core/data/osm_file.pbf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

my nano docker-compose.yml file

version: '2.4'
services:
  ors-app:
    container_name: ors-app
    ports:
      - "8080:8080"
      - "9001:9001"
    image: openrouteservice/openrouteservice:latest
    user: "${UID:-0}:${GID:-0}"
#    build:
#      context: ../
#      args:
#        ORS_CONFIG: ./openrouteservice/src/main/resources/ors-config-sample.json
#        OSM_FILE: ./ukraine_latest.osm.pbf
    volumes:
      - ./graphs:/home/ors/ors-core/data/graphs
      - ./elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./logs/ors:/home/ors/ors-core/logs/ors
      - ./logs/tomcat:/home/ors/tomcat/logs
      - ./conf:/home/ors/ors-conf
      - ./ukraine_latest.osm.pbf:/home/ors/ors-core/data/osm_file.pbf
    environment:
      - BUILD_GRAPHS=True  # Forces the container to rebuild the graphs, e.g. when PBF is changed
      - >
        JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75
        -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC
        -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms1g -Xmx2g
      - >
        CATALINA_OPTS=-Dcom.sun.management.jmxremote
        -Dcom.sun.management.jmxremote.port=9001
        -Dcom.sun.management.jmxremote.rmi.port=9001
        -Dcom.sun.management.jmxremote.authenticate=false
        -Dcom.sun.management.jmxremote.ssl=false
        -Djava.rmi.server.hostname=localhost

Dear Vitaliyvovchock,

I ran into the same error when setting ors up. First question is, where did you put the pbf file ?

For me the solution was

  • to put my pbf (in my case austria.pbf) file into the docker directory.
  • I followed the instructions of this video https://youtu.be/VQXlbqKArFk?t=585 but it also took 2 tries for me to work.
  • I also left the build, context, args and ors config and osm_file STILL commented as shown in the video.

But as the error message suggests you do not have the data in the specified location.

hope that helps

2 Likes