RavenDB Docker镜像部署与配置指南
2025-07-09 04:19:50作者:宣海椒Queenly
概述
RavenDB是一款高性能的NoSQL文档数据库,支持跨平台部署。本文将详细介绍如何使用Docker容器快速部署RavenDB数据库服务,包括镜像选择、运行配置、数据持久化等关键内容。
镜像版本说明
RavenDB提供两种基础镜像类型:
- Ubuntu Linux镜像 - 适用于Linux容器环境
- 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容器使用两个主要卷:
-
配置卷:
- Ubuntu容器:
/etc/ravendb/
- Windows容器:
C:\RavenDB\Config
- Ubuntu容器:
-
数据库卷:
- Ubuntu容器:
/var/lib/ravendb/data
- Windows容器:
C:/RavenDB/Server/RavenData
- Ubuntu容器:
配置优先级
RavenDB配置按以下顺序生效:
- 环境变量(以
RAVEN_
前缀开头) settings.json
配置文件- 命令行参数
环境变量示例
禁用设置向导:
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/
。容器启动时会自动检查旧数据目录并尝试创建符号链接,若权限不足将报错提示。
安全建议
- 生产环境务必保持身份验证启用
- 建议使用自定义用户ID运行容器:
--build-arg "RAVEN_USER_ID=自定义ID" --build-arg "RAVEN_GROUP_ID=自定义ID"
- 定期备份数据卷
通过本文介绍的配置方法,您可以快速搭建适合开发或生产环境的RavenDB数据库服务,并根据实际需求灵活调整各项参数。