使用 Docker Compose 部署 Neo4j 独立服务器
您可以通过在 docker-compose.yml 文件中定义容器配置,并使用基本认证或 Docker secrets 进行认证,来部署 Neo4j 独立服务器。
使用基本认证机制部署 Neo4j 服务器
在开始之前,请确认您已安装 Docker Compose。更多信息,请参阅 Docker Compose 官方文档中的安装指南。
-
创建一个项目文件夹,您将在其中存储 docker-compose.yml 文件并运行您的 Neo4j 服务器。
-
使用以下示例准备您的 docker-compose.yml 文件。更多信息,请参阅 Docker Compose 官方文档中的 Docker Compose 规范。
docker-compose.yml 文件示例services: neo4j: image: neo4j:latest volumes: (1) - /$HOME/neo4j/logs:/logs - /$HOME/neo4j/config:/config - /$HOME/neo4j/data:/data - /$HOME/neo4j/plugins:/plugins environment: - NEO4J_AUTH=neo4j/your_password (2) ports: - "7474:7474" - "7687:7687" restart: always
1 将 /$HOME/neo4j/<..>: 目录挂载到主机上的本地目录,以存储日志、配置、数据和插件。有关挂载卷的更多信息,请参阅 使用 Docker 卷持久化数据。 2 设置 neo4j
用户名和密码。 -
从您的项目文件夹中运行
docker-compose up
来部署您的 Neo4j 服务器。docker-compose up -d
-d
标志以分离模式启动容器。
使用 Docker secrets 部署 Neo4j 服务器
建议不要在 docker-compose.yml 文件中存储敏感信息,例如数据库用户名和密码。您可以将凭据存储在文件中,并在 docker-compose.yml 文件中使用它们,而无需公开其值。
-
创建一个文件(例如,neo4j_auth.txt),其中包含 Neo4j 服务器的用户名和密码,用作 Docker secret。
neo4j/your_password
-
使用以下示例准备您的 docker-compose.yml 文件。更多信息,请参阅 Docker Compose 官方文档中的 Docker Compose 规范。
docker-compose.yml 文件示例services: neo4j: image: neo4j:latest volumes: (1) - /$HOME/neo4j/logs:/logs - /$HOME/neo4j/config:/config - /$HOME/neo4j/data:/data - /$HOME/neo4j/plugin:/plugins environment: - NEO4J_AUTH_FILE=/run/secrets/neo4j_auth_file (2) ports: - "7474:7474" - "7687:7687" restart: always secrets: - neo4j_auth_file (3) secrets: neo4j_auth_file: (4) file: ./neo4j_auth.txt (5)
1 将 /$HOME/neo4j/<..>: 目录挂载到主机上的本地目录,以存储日志、配置、数据和插件。 2 包含 neo4j
用户名和密码的 secret (neo4j_auth_file
) 的路径。secret 值从neo4j_auth_file
secret 的file
属性中指定的文件读取。可以在neo4j
服务的secrets
部分定义多个 secret。Secret 仅支持以NEO4J_
开头并以_FILE
结尾的环境变量。3 Secret 的名称,例如 neo4j_auth_file
。4 neo4j_auth.txt 文件的路径。 5 neo4j
服务中 secret 的名称。如果同时定义了 secret 值和等效的环境变量,则 secret 值将覆盖环境变量。因此,例如,如果您还在
neo4j
服务的environment
部分定义了环境变量NEO4J_AUTH=neo4j/your_other_password
,则将使用NEO4J_AUTH_FILE
的值。 -
从您的项目文件夹中运行
docker-compose up
来部署您的 Neo4j 服务器。docker-compose up -d
-d
标志以分离模式启动容器。