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

How can I specify a configuration file in ArangoDB docker image?

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

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

获取自定义配置文件

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

command: >
    arangod --configuration /arango.conf

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

有什么提示吗?

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

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

所以要 运行 arangod 和你的 custom.conf 文件你需要将它映射到 /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 和该文件中的 add/update 选项将默认配置保存到 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