我正在尝试为Neo4j DB创建一个Docker容器。尽管在本地运行数据库不是问题,但容器启动JVM时遇到问题。通过neo4j查看:3.2.2图像我正在构建自己的Dockerfile,因为我无法看到我们使用不同版本的JRE。这个问题似乎源于他们neo4j.conf,它崩溃上无法识别的VM选项标志,如UseG1GC
和OmitStackTraceInFastThrow
Neo4j + Docker - 无法创建JVM
的Dockerfile是相当短的
FROM neo4j:3.2.2
ADD ./neo4j.conf /var/lib/neo4j/conf/.
ADD ./data/. /var/lib/neo4j/import
ADD ./scripts/. .
我也有一个码头工人,撰写.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
我是Windows 10的机器上,但图像生成一个UNIX容器。尽管他使用的是Mac,但我的同事在运行容器方面没有任何问题,使用相同的配置。由于问题在容器内,因此这不应该是相关的。
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.
有没有人遇到类似的问题?我已经搜索了几个堆栈溢出帖子,并试图了解JVM和容器如何工作,但我找不到任何可靠的信息来帮助我解决这个问题。
没有,我刚才试过了,没有问题。你的conf文件可能有问题。 – Ayushya
奇怪的是,我和我的同事正在使用相同的conf文件。 – Iltharion
你是否检查EOL和隐藏字符(断行...)?因为我认为“无法识别的虚拟机选项”错误信息通常包含在'''中。而第二个'''缺少 – VladoDemcak