首页
/ RavenDB Docker镜像部署与配置指南

RavenDB Docker镜像部署与配置指南

2025-07-09 04:19:50作者:宣海椒Queenly

概述

RavenDB是一款高性能的NoSQL文档数据库,支持跨平台部署。本文将详细介绍如何使用Docker容器快速部署RavenDB数据库服务,包括镜像选择、运行配置、数据持久化等关键内容。

镜像版本说明

RavenDB提供两种基础镜像类型:

  1. Ubuntu Linux镜像 - 适用于Linux容器环境
  2. Windows Nanoserver镜像 - 适用于Windows容器环境

最新稳定版镜像标签

  • latest / ubuntu-latest:基于Ubuntu的最新稳定版
  • windows-1809-latest:基于Windows 1809版本
  • windows-ltsc2022-latest:基于Windows 2022版本

长期支持版(LTS)镜像标签

  • latest-lts / ubuntu-latest-lts:Ubuntu LTS版
  • windows-1809-latest-lts:Windows 1809 LTS版
  • windows-ltsc2022-latest-lts:Windows 2022 LTS版

快速启动

基础运行命令

对于Linux/Ubuntu环境:

docker run -p 8080:8080 ravendb/ravendb:ubuntu-latest

对于ARM架构设备:

docker run -p 8080:8080 ravendb/ravendb:ubuntu-arm32v7-latest

对于Windows环境:

docker run -p 8080:8080 ravendb/ravendb:windows-latest

高级配置选项

RavenDB容器支持多种配置方式,可通过以下参数灵活调整:

参数 默认值 说明
-LogsMode Operations 设置日志级别(Operations/Information)
-ConfigPath - 指定容器内RavenDB配置文件的绝对路径
-DataDir - 指定主机目录作为数据持久化存储
-BindPort 8080 HTTP服务暴露端口
-BindTcpPort 38888 TCP连接监听端口
-NoSetup - 禁用设置向导
-PublicServerUrl - 设置服务器公共访问URL
-Unsecured - 禁用身份验证(仅限开发环境)

数据持久化配置

RavenDB容器使用两个主要卷:

  1. 配置卷

    • Ubuntu容器:/etc/ravendb/
    • Windows容器:C:\RavenDB\Config
  2. 数据库卷

    • Ubuntu容器:/var/lib/ravendb/data
    • Windows容器:C:/RavenDB/Server/RavenData

配置优先级

RavenDB配置按以下顺序生效:

  1. 环境变量(以RAVEN_前缀开头)
  2. settings.json配置文件
  3. 命令行参数

环境变量示例

禁用设置向导:

RAVEN_Setup_Mode='None'

常见问题解答

如何禁用设置向导?

在自动化部署场景中,可通过设置环境变量禁用向导:

RAVEN_Setup_Mode='None'

开发环境如何禁用安全验证?

RAVEN_Setup_Mode='None'
RAVEN_Security_UnsecuredAccessAllowed='PrivateNetwork'

如何查看容器日志?

启用控制台日志输出:

RAVEN_ARGS='--log-to-console'

从5.4版本迁移注意事项

v6.0+版本使用非root用户运行,数据目录变更至/var/lib/ravendb/data/。容器启动时会自动检查旧数据目录并尝试创建符号链接,若权限不足将报错提示。

安全建议

  1. 生产环境务必保持身份验证启用
  2. 建议使用自定义用户ID运行容器:
    --build-arg "RAVEN_USER_ID=自定义ID" --build-arg "RAVEN_GROUP_ID=自定义ID"
    
  3. 定期备份数据卷

通过本文介绍的配置方法,您可以快速搭建适合开发或生产环境的RavenDB数据库服务,并根据实际需求灵活调整各项参数。