2017-07-20 3 views
1

J'essaie de créer un conteneur docker pour une base de données Neo4j. L'exécution locale de la base de données n'est pas un problème, mais le conteneur rencontre des problèmes lors du démarrage de la machine virtuelle Java. En regardant à travers l'image neo4j: 3.2.2 je construis mon propre Dockerfile à partir de je ne peux pas nous voir en utilisant différentes versions de JRE. La question semble provenir de leur neo4j.conf, où il se bloque sur les drapeaux d'option non reconnus VM, comme UseG1GC et OmitStackTraceInFastThrowNeo4j + Docker - impossible de créer une JVM

Le Dockerfile est assez court

FROM neo4j:3.2.2 
ADD ./neo4j.conf /var/lib/neo4j/conf/. 
ADD ./data/. /var/lib/neo4j/import 
ADD ./scripts/. . 

J'ai aussi un docker-Compose .yml

version: '2' 
services: 
    neo4j: 
    image: eu.gcr.io/tine-matsans-v2/neo4j:develop 
    container_name: neo4j 
    build: 
     context: ./neo4j/. 
    ports: 
     - "7474:7474" 
     - "7473:7473" 
     - "7687:7687" 
    environment: 
     - NEO4J_USERNAME=neo4j 
     - NEO4J_PASSWORD=litago 

Je suis sur un ordinateur Windows 10, mais l'image crée un conteneur unix. Mon collègue n'a aucun problème avec l'exécution du conteneur, utilisant les mêmes configurations, même s'il utilise un Mac. Cela ne devrait pas être pertinent car le problème est dans le conteneur.

neo4j   | Active database: graph.db 
neo4j   | Directories in use: 
neo4j   | home:   /var/lib/neo4j 
neo4j   | config:  /var/lib/neo4j/conf  
neo4j   | logs:   /var/lib/neo4j/logs 
neo4j   | plugins:  /var/lib/neo4j/plugins 
neo4j   | import:  /var/lib/neo4j/import 
neo4j   | data:   /var/lib/neo4j/data 
neo4j   | certificates: /var/lib/neo4j/certificates 
neo4j   | run:   /var/lib/neo4j/run 
neo4j   | Starting Neo4j. 
neo4j   | Unrecognized VM option 'UseG1GC 
neo4j   | Did you mean '(+/-)UseG1GC'? 
neo4j   | Error: Could not create the Java Virtual Machine. 
neo4j   | Error: A fatal exception has occurred. Program will exit. 

Est-ce que quelqu'un a rencontré des problèmes similaires? J'ai parcouru plusieurs posts de débordement de pile et j'ai essayé de lire le fonctionnement de la JVM et des conteneurs, mais je ne trouve aucune information solide pour m'aider à résoudre ce problème.

+0

Nopes, je l'ai essayé tout à l'heure et il n'y avait pas de problèmes. Il y a probablement quelque chose qui ne va pas dans votre fichier conf. – Ayushya

+0

La partie étrange est, moi et mon collègue utilisent le même fichier conf. – Iltharion

+0

Avez-vous vérifié EOL et les caractères cachés (lignes de rupture ...)? Parce que je suppose que le message d'erreur "option VM non reconnue" est généralement inclus dans '' '. Et deuxième '' 'est manquant – VladoDemcak

Répondre

1

J'ai rencontré ce même problème. Il s'est avéré être une fin de ligne sur le fichier neo4j.conf. J'ai utilisé le code VS pour changer les fins de ligne en 'LF' et j'ai exécuté le docker-composer et tout s'est bien passé. J'espère que cela t'aides.

Visual Studio Code: How to show line endings

0

A dû arrêter le docker machine, allez dans le fichier de configuration, en utilisant notepadd ++ convertir le fichier en UTF8 même si elle est déjà UTF8, modifier eof unix, sauf, démarrage docker machine, docker-Compose jusqu'à yey fonctionne