如何在ArangoDB Docker映像中指定配置文件?

mzillmmw  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(155)

我正试着通过Docker合成启动ArangoDB服务器。
使用默认配置时一切都很好,但是我很难让容器中的服务器使用minimal setup来获取自定义配置文件
我尝试过用以下代码覆盖启动序列:

command: >
    arangod --configuration /arango.conf

我已经检查过了,该文件存在于容器中,但是当我通过arangoshell查询配置文件时,它仍然引用默认设置和放置在/tmp文件夹中的arangod.conf文件。
有什么提示吗?

11dmarpk

11dmarpk1#

--config /tmp/arangod.confdocker-entrypoint.sh中的第185行硬编码
在第42行,在容器每次开始时,也用/etc/arangodb3/arangod.conf重写它
因此,要使用custom.conf文件运行arangod,您需要将其作为卷Map到/etc/arangodb3/arangod.conf
通过Docker合成

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

通过Docker客户端

-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中反映这些更新

相关问题