$ docker exec -ti myname-neo4j bin/neo4j-admin dump --database=graph.db --to=/home/name/myname.dumpcommand failed: the database is in use -- stop Neo4j and try again
No entanto, se o processo Neo4j for interrompido, o que parece ser a única maneira de liberar o banco de dados, o contêiner será fechado. Este parece ser o comportamento esperado do Docker. Portanto, parece ser impossível chamar neo4j-admin dump de dentro do contêiner sem que o banco de dados esteja em uso.
Como isso pode ser resolvido enquanto ainda usa o Docker?
Então você pode manter o" dump & quot; recipiente e reutilizá - lo, ou apenas removê-lo. O mesmo conceito com o parâmetro entrypoint e-C se aplicaria ao procedimento de carga.
Por coincidência, agora é muito mais fácil fazer isso no Neo4j 4.0 porque você pode parar e iniciar bancos de dados sem ter que desligar todo o contêiner do Docker.
Então, se quiséssemos fazer um despejo de um banco de dados chamado 'foo', faríamos o seguinte:
Eu tive o mesmo problema antes, então escrevi esta solução alternativa para despejar dados neo4j e puxá-los para fora do contêiner para a máquina host.
Isso criará um novo contêiner e despejará dados em vez de iniciar o serviço neo4j e, em seguida, copiará o despejo para o host, basta atualizar e para o seu