在多个 Docker 主机上部署 Neo4j 集群
Neo4j 支持在没有编排工具的容器化环境中进行集群部署。本节介绍了如何使用 Docker 在多台机器上设置集群。有关如何在本地设置集群以进行测试的教程,请参阅 教程 → 在 Docker 容器中部署 Neo4j 集群。
此页面上的示例使用了命令扩展和 DNS 发现方法。有关更多信息,请参阅 |
为了创建高可用容器集群,Neo4j 集群服务器可以部署在不同的物理机器上。
当每个容器运行在自己的物理机器上且未使用 Docker 网络时,您必须定义广播地址以启用物理机器之间的通信。每个容器还必须绑定到主机网络的。有关容器网络的更多信息,请参阅 Docker 官方文档。
调用集群成员的 docker run
命令示例
docker run --name=server1 --detach \
--network=host \
--publish=7474:7474 --publish=7687:7687 \
--publish=6000:6000 --publish=7000:7000 \
--hostname=public-address \
--env NEO4J_dbms_cluster_endpoints=server1-public-address:6000,server2-public-address:6000,server3-public-address:6000 \
--env NEO4J_server_cluster_advertised__address=public-address:6000 \
--env NEO4J_server_cluster.raft.advertised__address=public-address:7000 \
--env NEO4J_server_default_advertised__address=public-address \
--env NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \
--env NEO4J_server_bolt_advertised__address=public-address:7687 \
--env NEO4J_server_http_advertised__address=public-address:7474 \
neo4j:2025.05.0-enterprise
其中 public-address
是机器的公共主机名或 IP 地址。