Docker安装Neo4j

Title Docker安装Neo4j
Framework Docker
User wy8817399@vip.qq.com
Id 96
Created 9/8/26, 9:34 PM
Modified 9/8/26, 9:34 PM
Published Yes
Content

1、创建目录/docker/neo4j

mkdir -p /docker/neo4j
cd /docker

 

2、编辑或者创建docker-compose.yml文件

services:
  neo4j:
    image: neo4j:2026.07.1
    container_name: neo4j
    restart: unless-stopped
    stop_grace_period: 60s
    ports:
      - "7474:7474"   # HTTP / Neo4j Browser(网页管理界面)
      - "7687:7687"   # Bolt(驱动/代码连接)
      # - "7473:7473" # HTTPS(需要 SSL 时取消注释)
      # - "6362:6362" # 备份端口(仅企业版)
    environment:
      # ==================== 认证 ====================
      # 格式:neo4j/密码。仅首次启动初始化数据目录时生效,之后改密码用:
      # ALTER CURRENT USER SET PASSWORD FROM '旧密码' TO '新密码';
      - NEO4J_AUTH=neo4j/neo4jadmin
      # 密码最小长度(默认 8,不建议改小)
      # - NEO4J_dbms_security_auth__minimum__password__length=8

      # ==================== 网络 ====================
      # 监听地址:0.0.0.0 允许远程访问;只本机用就改成 127.0.0.1
      - NEO4J_server_default__listen__address=0.0.0.0
      # 对外通告地址:浏览器/Bolt 连接串里显示用的地址。
      # 有域名或固定公网 IP 时填上,比如 neo4j.example.com
      # - NEO4J_server_default__advertised__address=你的域名或IP

      # ==================== 内存(默认不限制,自动分配) ====================
      # 服务器内存紧张时取消注释,按实际情况调数值
      # - NEO4J_server_memory_heap_initial__size=512M   # JVM 初始堆
      # - NEO4J_server_memory_heap_max__size=1G         # JVM 最大堆(建议不超过物理内存 1/3)
      # - NEO4J_server_memory_pagecache_size=512M       # 页缓存(图数据缓存,越大查询越快)

      # ==================== 插件 ====================
      # Docker 官方方式:启动时自动下载安装插件
      # 可选:apoc / graph-data-science / bloom / genai / n10s
      # 注意:首次启动联网下载,国内服务器可能慢
      # - NEO4J_PLUGINS=["apoc"]
      # - NEO4J_PLUGINS=["apoc", "graph-data-science"]
      # 装了 APOC 后需要放开过程白名单,否则很多 apoc.* 调用会被拒
      # - NEO4J_dbms_security_procedures_unrestricted=apoc.*
      # - NEO4J_dbms_security_procedures_allowlist=apoc.*,gds.*

      # ==================== JVM 附加参数 ====================
      # 需要传额外 JVM 参数时用,一行一个(多个参数要拆成多条 server.jvm.additional)
      # - NEO4J_server_jvm_additional=-XX:+UseG1GC
      # - NEO4J_server_jvm_additional=-Dfile.encoding=UTF-8

      # ==================== 数据库 ====================
      # 默认数据库名(默认 neo4j,只能首次初始化时指定)
      # - NEO4J_initial_dbms_default__database=neo4j
      # 社区版只能同时运行 1 个用户库;企业版可建多库

      # ==================== 监控 ====================
      # Prometheus 指标导出,有监控体系(如 Grafana)再开
      # - NEO4J_server_metrics_prometheus_enabled=true
      # - NEO4J_server_metrics_prometheus_endpoint=0.0.0.0:2004
      # 并放开端口:- "2004:2004"

      # ==================== 日志 ====================
      # 日志级别:DEBUG / INFO / WARN / ERROR
      # - NEO4J_server_logs_debug_level=INFO
      # 查询日志(记录慢查询,排查性能问题时开)
      # - NEO4J_db_logs_query_enabled=INFO
      # - NEO4J_db_logs_query_time__threshold=1s

      # ==================== 备份(仅企业版) ====================
      # - NEO4J_server_backup_enabled=true
      # - NEO4J_server_backup_listen__address=0.0.0.0:6362
    volumes:
      - ./neo4j/volumes/data:/data       # 数据目录(最重要,删容器不丢数据)
      - ./neo4j/volumes/logs:/logs       # 日志
      - ./neo4j/volumes/import:/import   # LOAD CSV 从这里读文件
      - ./neo4j/volumes/plugins:/plugins # 手动放插件 jar 时用(和 NEO4J_PLUGINS 二选一)
    healthcheck:
      test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:7474 || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 60s
    # Neo4j 官方建议提高文件句柄上限,避免数据量大后报 Too many open files
    ulimits:
      nofile:
        soft: 40000
        hard: 40000
    networks:
      - timeless

networks:
  timeless:
    name: timeless
    driver: bridge

 

3、通过ip访问

http://192.168.20.143:7474/browser/
帐号:neo4j
密码:neo4jadmin