使用 Docker Compose 部署 Neo4j 独立服务器
您可以通过 Docker Compose 部署 Neo4j 独立服务器,方法是在 docker-compose.yml 文件中定义容器配置,并使用基本身份验证或 Docker 密钥进行身份验证。
使用基本身份验证机制部署 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 密钥部署 Neo4j 服务器
建议不要在 docker-compose.yml 文件中存储敏感信息,例如数据库用户名和密码。相反,您可以将凭据存储在文件中,并在 docker-compose.yml 文件中使用它们,而不会暴露其值。
-
创建一个文件,例如 neo4j_auth.txt,其中包含要作为 Docker 密钥使用的 Neo4j 服务器的用户名和密码。
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
用户名和密码的密钥(neo4j_auth_file
)的路径。密钥值从neo4j_auth_file
密钥的file
属性中指定的文件中读取。可以在neo4j
服务的secrets
部分中定义多个密钥。密钥仅支持以NEO4J_
开头并以_FILE
结尾的环境变量。3 密钥的名称,例如 neo4j_auth_file
。4 neo4j_auth.txt 文件的路径。 5 neo4j
服务中密钥的名称。如果同时定义了密钥值和等效的环境变量,则密钥值会覆盖等效的环境变量。因此,例如,如果您还在
neo4j
服务的environment
部分中定义了一个环境变量NEO4J_AUTH=neo4j/your_other_password
,则NEO4J_AUTH_FILE
的值将是使用的值。 -
通过在项目文件夹中运行
docker-compose up
来部署您的 Neo4j 服务器。docker-compose up -d
-d
标志以分离模式启动容器。