It's not possible to impact neo4j's configuration inside of the container without creating a new container. This is because inside of the neo4j docker container (right here: https://github.com/neo4j/docker-neo4j/blob/master/src/3.4/docker-entrypoint.sh#L216) -- the container process is just the neo4j binary.
Now, on linux systems, typically the neo4j binary is wrapped in a system service setup, like sysv, so you can do something like systemctl restart neo4j
. This is not the case for the docker container, since it's considered good practice to have a container execute exactly one process. A discussion of why that's good docker practice can be found here.
The downside of this is that you can't change your config and restart the database. When this process finishes, your container exits, that's it.
So what are your options?
- Neo4j does have some dynamic configuration settings which can be adjusted by cypher code, with no neo4j.conf needed. If these fit for you, that's what I'd recommend.
- You can adjust your environment variables, kill the container, and restart. Note that if you manage volume mappings appropriately, you of course won't lose any data.
Unfortunately, editing configs without restarting the container won't work.