2017-02-15 48 views
0

我有一個在我的服務器上運行neo4j的碼頭集裝箱,並且我設置了備份數據庫的自動備份。我試圖從備份恢復數據庫,但我無法弄清楚如何恢復泊塢窗容器內的數據庫。恢復到neo4j碼頭集裝箱

我試圖使用docker exec -t bin/neo4j-admin restore --from=/path/to/backup --database=graph.db --force

我從你必須關閉的Neo4j恢復備份的Neo4j的文檔閱讀,但我敢肯定,在容器關閉的Neo4j將關閉我的容器(該容器使用bin/neo4j console開始)。有沒有辦法在不關閉neo4j的情況下恢復備份,或者在不關閉容器的情況下關閉neo4j的方法?或者我必須直接在我的服務器上運行neo4j而無需docker?

現在,唯一可行的解​​決方案是將備份的graph.db文件夾複製到實際的數據文件夾中,但我認爲這不是正確的方法。

回答

0

我遇到了同樣的問題。最終我在運行的neo4j容器上使用neo4j-admin restore,使用新的數據庫名稱,例如。 --database=new.db。然後停止實例並將dbms.active_database=graph.db更改爲dbms.active_database=new.dbneo4j.conf(這隻有在配置文件位於已安裝的卷中時纔有效。據我所知,沒有可用於設置活動數據庫的環境變量)。儘管如此,這還不是最方便的解決方案,所以我希望有更好的方法來做到這一點。

1

找到一個更簡單的方法來改變你的碼頭工人的Neo4j容器的默認數據庫,你可以簡單地設置環境變量在運行搬運工或服務的命令:

-e NEO4J_dbms_active__database="test.db"