
维护者:
ArangoDB
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
3.12, 3.12.5.2, latest问题提交地址:
[***]
支持的架构:(更多信息)
amd64、arm64v8
已发布镜像 artifact 详情:
repo-info 仓库的 repos/arangodb/ 目录(历史记录)
(包含镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/arangodb 标签
official-images 仓库的 library/arangodb 文件(历史记录)
本描述的来源:
docs 仓库的 arangodb/ 目录(历史记录)
ArangoDB 是一个可扩展的图数据库系统,旨在更快地从关联数据中挖掘价值。它支持原生图存储、集成搜索引擎和 JSON 格式,通过单一查询语言即可操作。
ArangoDB 可在任何环境运行:本地部署、云端或作为托管云服务 ArangoGraph Insights Platform。
arangodb.com
!logo
原生图存储
同时存储数据和关系,即使在多级别连接查询中也能实现更快的查询速度,并能提供传统关系型和文档数据库无法实现的深度洞察。
文档存储
图中的每个节点都是 JSON 文档:灵活、可扩展,且易于从现有文档数据库导入。
ArangoSearch
原生集成的跨平台索引、文本搜索和排序引擎,针对信息检索优化,兼顾速度和内存效率。
要启动 ArangoDB 实例,运行:
consoledocker run -d -p 8529:8529 -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name arangodb-instance arangodb
Docker 默认选择与主机 CPU 匹配的镜像架构。若需指定架构(如设置了 DOCKER_DEFAULT_PLATFORM 环境变量),可通过 --platform 标志指定:x86-64 使用 linux/amd64;ARM(尤其是 Apple 芯片,无 AVX 指令集模拟时)使用 linux/arm64/v8:
consoledocker run -d -p 8529:8529 -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name arangodb-instance --platform linux/arm64/v8 arangodb
上述命令将在后台启动 ArangoDB 容器,默认监听 8529 端口。要获取容器 IP,运行:
consoledocker inspect --format '{{ .NetworkSettings.IPAddress }}' arangodb-instance
首次运行时需指定服务器语言,可通过以下方式之一:
LANG,如 -e LANG=sv(瑞典语)。icu-language = sv(无 [section]),然后通过 -v /your-host-path/arangod.conf:/etc/arangodb3/arangod.conf 挂载。若未显式指定,ArangoDB v3.11 及之前默认使用 en_US,v3.12 及之后默认使用 en_US_POSIX。
要从应用容器访问 ArangoDB 实例,可通过 --link 链接:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arangodb
应用容器将包含以下环境变量,用于访问数据库:
DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17DB_LINK_PORT_8529_TCP_PORT=8529DB_LINK_PORT_8529_TCP_PROTO=tcpDB_LINK_NAME=/naughty_ardinghelli/db-link要将端口暴露到主机,运行:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arangodb
镜像已包含 EXPOSE 8529,-p 8529:8529 将容器端口映射到主机。
可通过环境变量指定认证方式(docker run 时 -e 参数):
随机 root 密码
ARANGO_RANDOM_ROOT_PASSWORD=1:启动时生成随机密码,输出到标准输出(可通过 docker logs 查看)。
禁用认证
ARANGO_NO_AUTH=1:仅用于测试。
警告:生产环境禁用认证将暴露所有数据,确保 ArangoDB 不直接暴露于互联网!
自定义 root 密码
ARANGO_ROOT_PASSWORD=somepassword:指定自定义密码。
注意:以上方式仅适用于单服务器部署。集群需在系统启动后通过空密码 root 用户创建用户。
可在 Docker 命令末尾追加参数传递给 ArangoDB 服务器:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arangodb --help
入口脚本默认启动 arangod 并转发参数。也可启动其他二进制文件(如 ArangoShell):
consoledocker run -it arangodb arangosh --server.database myDB ...
若 arangod 与 arangosh 位于不同容器,需配置网络;建议在同一容器内执行:通过 docker ps 获取容器 ID/名称,再用 docker exec 运行命令:
consoledocker ps # 获取容器名称(如 jolly_joker) docker exec -it jolly_joker arangosh
更多配置详情见 ArangoDB 配置文档。
arangod 支持通过以下环境变量限制资源使用:
内存限制
ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY(v3.6.3+):覆盖自动检测的总内存。值可为字节数,或带单位(G/g:2^30,M/m:2^20,K/k:2^10),如 64G 表示 64GB。适用于容器 cgroup 内存限制或与其他服务共享内存时。
CPU 核心限制
ARANGODB_OVERRIDE_DETECTED_NUMBER_OF_CORES(v3.7.1+):覆盖自动检测的 CPU 核心数。适用于容器或与其他服务共享 CPU 时。
ArangoDB v3.2-3.6 支持两种存储引擎,通过 ARANGO_STORAGE_ENGINE 指定:mmfiles(传统引擎,v3.7+ 移除)、rocksdb(基于 RocksDB,v3.4+ 默认)。
ArangoDB 使用以下卷存储数据:
/var/lib/arangodb3:数据库目录(存储集合数据)/var/lib/arangodb3-apps:应用目录(存储扩展)通过 docker inspect --format "{{ .Config.Volumes }}" arangodb 查看所有卷。
将容器卷映射到主机目录以持久化数据(示例中 /tmp/arangodb 仅为演示,需替换为实际路径):
consolemkdir /tmp/arangodb docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d \ -v /tmp/arangodb:/var/lib/arangodb3 \ arangodb
创建专用数据容器存储卷:
consoledocker create --name arangodb-persist arangodb true # 创建数据容器 docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arangodb # 使用数据容器
也可使用轻量级镜像(如 busybox 或 alpine)创建数据容器:
consoledocker run -d --name arangodb-persist -v /var/lib/arangodb3 busybox true
作为基础镜像时,确保 CMD 使用 exec 格式,以便入口脚本完成初始化。
派生镜像可通过 /docker-entrypoint-initdb.d/ 目录自定义初始化:
*.sh:以 bash 脚本执行*.js:通过 arangosh 执行,可通过 ARANGOSH_ARGS 环境变量指定额外参数dumps/:存放 arangodump 生成的数据库备份,启动时通过 arangorestore 恢复ArangoDB 社区版*** Docker 镜像受 ArangoDB 社区许可证 约束:生产环境数据集大小限制为 100GB,仅允许内部业务用途,不得分发、嵌入其他产品或与企业版结合使用。
社区版源代码采用 Business Source License 1.1 (BUSL-1.1):允许复制、修改、再分发、非商业使用及非生产环境商业使用;特定版本首次公开分发四年后,许可证转为 Apache 2.0。
ArangoDB v3.11 及之前版本采用 Apache 2.0 许可证。
ArangoDB 包含 第三方软件及其许可证。
与所有 Docker 镜像一样,本镜像可能包含其他软件,其许可证需另行遵守(如基础发行版的 Bash 等)。
更多许可证信息见 repo-info 仓库的 arangodb 目录。
使用前请确保遵守所有包含软件的许可证。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429