Если ваша проблема связана с копированием того же файла конфигурации, который может содержать общие данные, то вы можете изменить путь, которым вы модифицируете его для отдельных сред.
Согласно Конфигурация документы. Существует несколько способов настройки файла конфигурации - копирование файла, который вы используете, является одним из них - но поскольку вы намереваетесь использовать одно и то же изображение для нескольких сред, было бы лучше также настроить neo4j на основе Переменные среды, чтобы избежать создания одинаковой конфигурации для паролей, баз данных и т. д., например:
docker run \
--detach \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/data:/data \
--volume=$HOME/neo4j/logs:/logs \
--env=NEO4J_dbms_memory_pagecache_size=4G \
neo4j:3.5
И ваш Dockerfile будет выглядеть так:
FROM neo4j:3.5
COPY apoc-3.5.0.1.jar /var/lib/neo4j/plugins/apoc.jar
Так что вы можете включить аутентификацию базы данных в производственной, но не в разработке, тогда вам придется сделать следующее:
# For production
docker run -d --rm --name neo4j-prod -e NEO4J_dbms.security.auth_enabled=true -p 10074:7474 -p 10087:7687 myneo
# For development
docker run -d --rm --name neo4j-dev -e NEO4J_dbms.security.auth_enabled=false -p 7474:7474 -p 7687:7687 myneo
Следуя этому пути, вы сможете легко развернуть, перенастроить и сохранить конфигурацию отдельно, даже если вы используете что-то вроде docker-compose , все будет проще.
Более подробную информацию можно найти в здесь