2016-09-12 2 views
0

Ich habe ein vorhandenes Neo4j Bild mit Daten darin, dass ich den folgenden docker run Befehl ausführen mitDocker-compose keine Daten laden

docker run --publish=7474:7474 --volume=$HOME/neo4jdev/data:/data neo4j

Als ich dies bei http://192.168.99.100:7474/browser/ in meinem Browser zu überprüfen, bestätigte ich dass mein Container über vorhandene Knoten verfügt.

Was ich tun möchte, ist docker-compose anstelle von docker run, um meine Dienste zu betreiben. Dies ist, was mein docker-compose.yml sieht aus wie

version: '2' 
services: 
    neo4jdev: 
    image: neo4j 
    ports: 
     - "7474:7474" 
    volumes: 
     - $HOME/neo4jdev/data 

ich dies mit docker-compose up laufen.

Aber wenn ich meinen Browser überprüfe, bekomme ich eine leere Datenbank ohne Knoten drin. Es scheint nur das neuste neo4j Bild zu laden.

Antwort

3

verwenden stattdessen

volumes: 
    - $HOME/neo4jdev/data:/data 

So Ihre Docker-compose.yml wie diese

version: '2' 
services: 
    neo4jdev: 
    container_name: n4j 
    image: neo4j 
    ports: 
     - "7474:7474" 
    volumes: 
     - $HOME/neo4jdev/data:/data 

docker-compose up -d 

aussehen würde Schauen Sie sich den Inhalt Ihrer/data-Verzeichnis auf Ihrem Behälter mit

docker exec n4j ls -al /data 

Dies gibt mir

total 16 
drwxr-xr-x 4 root root 4096 Sep 12 11:16 . 
drwxr-xr-x 51 root root 4096 Sep 12 11:20 .. 
drwxr-xr-x 3 root root 4096 Sep 12 11:16 databases 
drwxr-xr-x 2 root root 4096 Sep 12 11:16 dbms 
+0

Ich habe es gerade versucht und die db ist erstellt. Ich werde mehr Details in meine Antwort einfügen. – Alkaline

+0

Wenn es immer noch nicht funktioniert, wird es wahrscheinlich von $ HOME var verursacht. Fügen Sie Ihre Frage zu "Docker-Info" und "Docker-Version" hinzu. – Alkaline

+0

ja es funktioniert jetzt. Können Sie bestätigen, dass wenn ich Knoten in meiner Datenbank hinzufüge, sie in meinem lokalen Datenordner statt im Containerordner gespeichert werden? – jmc