首页 > 解决方案 > 如何在 ArangoDB docker 映像中指定配置文件?

问题描述

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

使用默认配置一切正常,但我正在努力让容器中的服务器以最少的设置获取自定义配置文件

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

command: >
    arangod --configuration /arango.conf

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

有什么提示吗?

标签: dockerdocker-composearangodb

解决方案


--config /tmp/arangod.conf在第 185 行硬编码docker-entrypoint.sh

它也会在容器的每次启动时被覆盖,/etc/arangodb3/arangod.conf 第 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

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

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

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


推荐阅读