Modifying Dockerfile, config-example.yml, and setting up Graphhopper via Docker with Your Own Data

@Matt_Frey Thanks Matt, yes this does help! I’m trying to mentally glue together my understanding. I think I’m getting there, but yes, while quite powerful, Docker is not intuitive. So much appreciate from over here!

You will be able to change the config file once your image is built and the service is running. My preference is using docker-compose and defining the services. then you can run docker-compose up --build -d to run the service in the background.

Okay, I think that makes sense about the docker-compose.yml file! What I’m mainly confused with is: If I want to modify my Docker-Container, Do I need to modify my config.yml file, then regenerate the Docker-Image, then regenerate the Docker-Container? Or can I “step inside” the Docker-Image with the docker exec command as discussed, and modify the config.yml in there, and generate a second Docker-Container from that newly Modified Image? (Maybe that’s a strange question, but conceptually it’s helping understand how these things files, relate to the images, and relate to the containers).

And one final question regarding the Docker graphhopper command:
docker run -d --name graphhopper -v <path_data_directory>/data:/data -p 8989:8989 graphhopper:master

When you copy the local <path_data_directory>/data into a Docker-Volume at /data does that /data folder “live” inside the Image? or Container? or some third thing? I don’t really understand the use case for Volumes, and not just having the data stored locally, or in a server… Why is the data “compartmentalized” somewhere in Docker like that?

If this is too much to answer, don’t worry about it, either way I’m going to keep sleuthing through Youtube Videos! Haha