如何在 ArangoDB docker 镜像中指定配置文件?

问题描述

我正在尝试通过 docker compose 启动 arangoDB 服务器。

使用认配置一切正常,但我正在努力让容器中的服务器使用 minimal setup

获取自定义配置文件

我尝试使用以下内容覆盖启动顺序:

command: >
    arangod --configuration /arango.conf

我已经检查过并且该文件存在于容器中,但是当我通过 query through arangoshell 检查配置文件时,它仍然引用了认设置和放置在 {{1} 中的 arangod.conf 文件} 文件夹。

有什么提示吗?

解决方法

--config /tmp/arangod.conf 硬编码在 docker-entrypoint.sh at line 185

它也在每次容器启动时被 /etc/arangodb3/arangod.conf at line 42

覆盖

所以要使用您的 custom.conf 文件运行 arangod,您需要将其作为卷映射到 /etc/arangodb3/arangod.conf

通过 docker 撰写

volumes:
  /custom.conf:/etc/arangodb3/arangod.conf

通过 docker cli

-v /custom.conf:/etc/arangodb3/arangod.conf

更新:根据评论

custom.conf 必须包含来自 /etc/arangodb3/arangod.conf

的默认值

最简单的方法是通过 docker cli 将默认配置保存到 custom.conf 并在该文件中添加/更新选项

docker run --rm arangodb/arangodb:3.7.5 sh -c 'cat /etc/arangodb3/arangod.conf' > custom.conf

还需要在新版本的 ArangoDB 中跟踪 /etc/arangodb3/arangod.conf 中默认选项的更新,并将它们反映在您的 custom.conf