我对 clickhouse 的设置是通过 docker ( https://hub.docker.com/r/yandex/clickhouse-server/~/dockerfile/ )。目前,我在将数据目录(/var/lib/clickhouse)从容器挂载到主机时遇到了一些问题,因为我想将数据保留在容器运行时之外。
由于 docker 进程负责在主机上创建目录(/var/lib/clickhouse 的这些目录在使用 -v 标志运行 docker 之前不存在),我应该在我的主机实例?
我遇到了类似的东西:Application: Access to file denied: /var/lib/clickhouse/data
。我的显式文件挂载是:/var/lib/clickhouse
并且/var/lib/clickhouse/tmp
按照配置文件中的规定。但由于 clickhouse 服务器进程似乎创建了更多目录,因此 docker 进程在尝试创建更多进程时被“拒绝”。
我可以显式挂载 /data 等,但这做出了配置之外的假设。此外,如果我给予慷慨的权限,这确实/var/clickhouse
有效:chmod 777 /var/clickhouse
但想确保这是最佳实践。