neo4j docker镜像 bitnami/neo4j 怎样设置内存大小呢?

neo4j镜像使用的是 bitnami/neo4j:5.3.0 ,在环境变量中并没有提供设置内存的选项,所以我将 镜像 /opt/bitnami/neo4j/conf/neo4j.conf 拷贝出来,指定内存后,按镜像说明,将配置映射到/bitnami/neo4j/conf目录, 启动没有报错,但是7474端口无法访问了。

docker-compose文件配置如下:

version: '3.3'
services:
  neo4j:
    image: bitnami/neo4j:5.3.0
    environment:
      NEO4J_PASSWORD: 12345678
    ports:
    # 客户端页面访问端口
    - "7474:7474"
    # bolt协议访问端口    
    - "7687:7687"
    volumes:
    - "neo4j_data:/bitnami/neo4j/data"
    - "./conf:/bitnami/neo4j/conf"
    restart: always

volumes:
  neo4j_data:

neo4j.conf文件是从 镜像中拷贝出来的,只是修改了:server.memory.heap.max_size=2048m

内存大小要怎样设置呢?


2023-12-25 补充:
实际测试、对比了不同修改方式,最终生成的 neo4j启动java命令、以及neo4j /opt/bitnami/neo4j/conf/neo4j.conf 的内容,配置原则应该是:

  1. bitnami提供了一些环境变量,如果仅仅是更改端口,使用环境变量就可以,比如:NEO4J_BIND_ADDRESS (缺省为 0.0.0.0, 这指示在所有网络接口上监听相应端口)、NEO4J_BOLT_PORT_NUMBER(缺省为 7687,声明bolt协议端口)
  2. 此外,bitnami也支持用户提供原始的 neo4j.conf文件,但如果提供了这个文件,就会忽略和neo4j.conf文件相关的环境变量的设置。
  3. 内存设置,目前没有对应的环境变量支持,只能修改 neo4j.conf文件,而缺省的 neo4j.conf文件中,监听地址缺省为 localhost,也就是说,此时只能在本机访问7474端口。在neo4j的启动日志中也能看到:访问地址为 http://localhost:7474 ,正常情况为:http://0.0.0.0:7474 ,所以修改内存配置,需要同时放开 监听地址配置,在neo4j.conf文件中有如下说明:

    # With default configuration Neo4j only accepts local connections.
    # To accept non-local connections, uncomment this line:
    #server.default_listen_address=0.0.0.0
  4. 设置内存后,neo4j的java启动命令后将自动附加内存配置:类似-Xms2097152k -Xmx4194304k
阅读 1k
1 个回答

- "./conf:/bitnami/neo4j/conf"
你这个错了吧,你应该
`
"./conf/neo4j.conf:/bitnami/neo4j/conf/neo4j.conf"
`
这样应该就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏