注意: 这是 arangodb 镜像 的 arm64v8 架构构建的“每架构”仓库——更多信息,请参见镜像文档中的“除 amd64 外的架构?”和***镜像常见问题中的“Git 中镜像的源已更改,现在该怎么办?”。
维护者:
ArangoDB
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接3.12, 3.12.5.2, latest问题反馈地址:
[***]
支持的架构: (更多信息)
amd64、arm64v8
已发布镜像工件详情:
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 arm64v8/arangodb
默认情况下,Docker 会选择与主机 CPU 匹配的镜像处理器架构。如果并非如此(例如,因为 DOCKER_DEFAULT_PLATFORM 环境变量设置为其他架构),可在 docker run 命令中传递 --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 arm64v8/arangodb
这会创建并启动 arm64v8/arangodb Docker 实例作为后台进程,并打印进程标识符。默认情况下,ArangoDB 监听端口 8529 以接收请求。
要获取 ArangoDB 监听的 IP,请运行:
consoledocker inspect --format '{{ .NetworkSettings.IPAddress }}' arangodb-instance
使用 Docker 时,首次运行需通过以下方式之一指定要初始化服务器的语言:
在 docker run 命令中设置环境变量 LANG 为区域设置,例如 -e LANG=sv 表示瑞典语区域设置。
使用设置了语言的 arangod.conf 配置文件,并将其挂载到容器中。例如,在主机系统上创建配置文件,在顶部(任何 [section] 之前)设置 icu-language = sv,然后通过 docker run -v /your-host-path/arangod.conf:/etc/arangodb3/arangod.conf ... 将文件挂载到容器。
如果未明确指定语言,ArangoDB v3.11 及之前版本默认使用 en_US,v3.12 及之后版本默认使用 en_US_POSIX。
要从应用程序使用运行中的实例,请链接容器:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arm64v8/arangodb
这会使用名为 arangodb-instance 的实例,并将其链接到应用容器。应用容器包含可用于访问数据库的环境变量:
DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529 DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17 DB_LINK_PORT_8529_TCP_PORT=8529 DB_LINK_PORT_8529_TCP_PROTO=tcp DB_LINK_NAME=/naughty_ardinghelli/db-link
如果要向外部公开端口,请运行:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arm64v8/arangodb
ArangoDB 监听端口 8529 以接收请求,镜像包含 EXPOSE 8529。-p 8529:8529 将此端口暴露在主机上。
ArangoDB 镜像提供多种认证方法,可在使用 docker run 时通过环境变量(-e)指定:
ARANGO_RANDOM_ROOT_PASSWORD=1
启动时生成随机 root 密码。密码将打印到标准输出(稍后可使用 docker logs 查看)
ARANGO_NO_AUTH=1
禁用认证。适用于测试。
警告 生产环境中禁用认证会暴露所有数据!确保 ArangoDB 不直接从互联网访问!
ARANGO_ROOT_PASSWORD=somepassword
指定自定义 root 密码。
注意:这种指定登录方式仅适用于单服务器安装。对于集群,系统启动后需通过空密码的 root 用户配置用户。
可将参数追加到 Docker 命令末尾,传递给 ArangoDB 服务器:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arm64v8/arangodb --help
入口点脚本默认启动 arangod 二进制文件,并转发参数。
也可启动其他二进制文件,如 ArangoShell:
consoledocker run -it arm64v8/arangodb arangosh --server.database myDB ...
注意,如果 arangod 在一个容器中运行,而要在另一个容器中使用 arangosh 访问它,需为容器设置网络。在同一容器中执行更简单。使用 docker ps 查找运行中容器的 ID/名称:
consoledocker ps
输出类似:
consoleCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ***ab arangodb "/entrypoint.sh aran…" 2 hours ago Up 2 hours 0.0.0.0:8529->8529/tcp jolly_joker
然后使用 docker exec 和 ID/名称在现有容器中运行命令:
consoledocker exec -it jolly_joker arangosh
更多信息,请参见 ArangoDB 文档中的 配置。
arangod 检查以下环境变量,可用于限制其使用的内存和 CPU 核心数:
ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY(v3.6.3 引入)
此变量可覆盖系统总 RAM 的自动检测。可指定十进制数字(字节)。此外,追加 G 或 g 表示乘以 2^30,M 或 m 表示乘以 2^20,K 或 k 表示乘以 2^10。例如,64G 表示 64 GB。
检测到的总 RAM 会在服务器启动时以 INFO 消息记录。如果设置了此变量,将显示覆盖后的值。各种默认大小(如 RocksDB 缓冲区缓存大小)基于此值计算。
设置此选项在以下两种情况特别有用:
arangod 在容器中运行,且其 cgroup 有 RAM 限制,应在此环境变量中指定该限制,因为目前无法自动检测。arangod 与其他服务在同一台机器上运行并共享 RAM,应使用此环境变量限制内存量。ARANGODB_OVERRIDE_DETECTED_NUMBER_OF_CORES(v3.7.1 引入)
此变量可覆盖系统 CPU 核心数的自动检测。
检测到的 CPU 核心数会在服务器启动时以 INFO 消息记录。如果设置了此变量,将显示覆盖后的值。各种线程默认值基于此值计算。
如果 arangod 在容器中运行或与其他服务在同一台机器上运行,且不应使用所有可用 CPU,设置此选项很有用。
ArangoDB 从 3.2 到 3.6 版本支持两种存储引擎。可在实例化容器时通过环境变量 ARANGO_STORAGE_ENGINE 选择:mmfiles 选择经典存储引擎(3.7 及之后版本不可用),rocksdb 选择基于 RocksDB 的存储引擎。3.4 及之后版本默认选择 rocksdb。
ArangoDB 使用 /var/lib/arangodb3 作为数据库目录存储集合数据,/var/lib/arangodb3-apps 作为应用目录存储扩展。这些目录标记为 Docker 卷。
运行 docker inspect --format "{{ .Config.Volumes }}" arm64v8/arangodb 查看所有卷。
关于容器持久性的详细解释:Docker 深入探讨:卷、为什么 Docker 数据容器很好
可将容器的卷映射到主机上的目录,以便容器运行之间保留数据。/tmp/arangodb 通常不是存储持久文件的正确位置——仅作为示例!
consoleunix> mkdir /tmp/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d \ -v /tmp/arangodb:/var/lib/arangodb3 \ arm64v8/arangodb
这会将主机的 /tmp/arangodb 目录用作容器内 ArangoDB 的数据库目录。
也可创建包含数据的容器:
consoledocker create --name arangodb-persist arm64v8/arangodb true
并在 ArangoDB 容器中使用此数据容器:
consoledocker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arm64v8/arangodb
如果想节省空间,可使用 busybox 或 alpine 创建仅卷容器。注意此时需提供使用的卷,例如:
consoledocker run -d --name arangodb-persist -v /var/lib/arangodb3 busybox true
如果将此镜像用作基础镜像,请确保将任何 CMD 包装在 exec 形式中。否则默认入口点不会执行其引导工作。
派生镜像时,可通过将文件放入 /docker-entrypoint-initdb.d/ 控制实例化:
*.sh - 以 .sh 结尾的文件将作为 bash 脚本运行。*.js - 文件将通过 arangosh 执行。可通过 ARANGOSH_ARGS 环境变量指定其他 arangosh 参数。dumps/ - 可在此目录中放置包含使用 arangodump 生成的数据库转储的子目录。可使用 arangorestore 恢复。ArangoDB 社区版的*** Docker 镜像受 ArangoDB 社区许可证 管辖。它限制生产环境中的数据集大小为 100 GB,且不得用于任何商业目的,仅可用于内部业务目的。不包括分发、嵌入其他产品或与 ArangoDB 企业版软件组合的权利。
社区版源代码在 Business Source License 1.1 (BUSL-1.1) 下可用。始终允许复制、修改、再分发、非商业使用以及非生产环境中的商业使用。此外,只要不创建商业衍生作品或提供包含它的商业产品、应用程序或服务,可将 BUSL 许可的 ArangoDB 源代码部署用于任何目的(包括生产)。特定版本首次公开分发的第四年起,许可证将更改为宽松的 Apache 2.0 开源许可证。
ArangoDB 3.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