使用 Docker Compose 部署 Neo4j 单机服务器
您可以通过在 docker-compose.yml 文件中定义容器配置,并使用基本身份验证或 Docker Secrets 进行认证,从而使用 Docker Compose 部署 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: always1 将 /$HOME/neo4j/<..>: 目录挂载到宿主机上的本地目录,以存储日志、配置、数据和插件。有关挂载卷的更多信息,请参阅使用 Docker 卷持久化数据。 2 设置 neo4j用户名和密码。 -
在您的项目文件夹中运行
docker-compose up来部署 Neo4j 服务器。docker-compose up -d-d标志以分离模式(detached mode)启动容器。
使用 Docker Secrets 部署 Neo4j 服务器推荐
建议不要将敏感信息(例如数据库用户名和密码)存储在 docker-compose.yml 文件中。您可以将凭据存储在文件中,并在 docker-compose.yml 文件中使用它们,而无需暴露其实际值。
-
创建一个文件(例如 neo4j_auth.txt),其中包含要用作 Docker Secret 的 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用户名和密码的 Secret 路径(neo4j_auth_file)。Secret 的值从neo4j_auth_filesecret 的file属性中指定的文件读取。在neo4j服务的secrets部分可以定义多个 secret。Secret 仅支持以NEO4J_开头并以_FILE结尾的环境变量。3 Secret 的名称,例如 neo4j_auth_file。4 neo4j_auth.txt 文件的路径。 5 neo4j服务中 Secret 的名称。如果同时定义了等效的环境变量,Secret 值将覆盖该变量。因此,例如,如果您还在
neo4j服务的environment部分定义了环境变量NEO4J_AUTH=neo4j/your_other_password,最终将使用NEO4J_AUTH_FILE的值。 -
在您的项目文件夹中运行
docker-compose up来部署 Neo4j 服务器。docker-compose up -d-d标志以分离模式(detached mode)启动容器。