在 docker 中启动 clickhouse-server 失败并出现来自 Poco 的错误
Starting clickhouse-server in docker fails with error from Poco
我正在尝试使用官方 docker 容器启动 clickhouse-server。我拉了最新的一个,尝试启动它并收到以下错误:
Poco::异常。代码:1000,e.code() = 0,e.displayText() = 未找到:记录器,e.what() = 未找到
我正尝试在 Mac 上使用 High Sierra 执行此操作,怀疑这可能与此问题有关。我是这样的 运行 服务器:
docker run --name some-clickhouse-server --ulimit nofile=262144:262144 -v /Users/dmitrysmirnov/clickhouse/config.xml:/etc/clickhouse-server/config.xml yandex/clickhouse-server
配置:
<yandex>
<listen_host>0.0.0.0</listen_host>
<listen_try>1</listen_try>
<!--
<logger>
<level>trace</level>
<console>1</console>
</logger>
-->
</yandex>
欢迎任何建议/调试想法,谢谢!
其实不是ClickHouse本身的问题。 docker run
命令有误。 -v
选项用于设置音量,而不是特定文件。因此,从字面上看,您创建了一个路径为 /etc/clickhouse-server/config.xml/
的目录,这是 Clickhouse 预热的制动器。
相反,我建议您将 config.xml 放在目录中,并将 link 带有 config.d 文件夹的卷放在 ClickHouse 映像中。 config.d
,还有users.d
,还有其他的.d
都被认为是这样使用的。所以:
docker run --name clickhouse-server -v `(pwd)`/dir/:/etc/clickhouse-server/config.d yandex/clickhouse-server
此外,检查 docker run
的其他选项也是个好主意。顺便说一句:我发现 -d
选项是必须的,因为分离容器使我的终端更有用。
我正在尝试使用官方 docker 容器启动 clickhouse-server。我拉了最新的一个,尝试启动它并收到以下错误:
Poco::异常。代码:1000,e.code() = 0,e.displayText() = 未找到:记录器,e.what() = 未找到
我正尝试在 Mac 上使用 High Sierra 执行此操作,怀疑这可能与此问题有关。我是这样的 运行 服务器:
docker run --name some-clickhouse-server --ulimit nofile=262144:262144 -v /Users/dmitrysmirnov/clickhouse/config.xml:/etc/clickhouse-server/config.xml yandex/clickhouse-server
配置:
<yandex>
<listen_host>0.0.0.0</listen_host>
<listen_try>1</listen_try>
<!--
<logger>
<level>trace</level>
<console>1</console>
</logger>
-->
</yandex>
欢迎任何建议/调试想法,谢谢!
其实不是ClickHouse本身的问题。 docker run
命令有误。 -v
选项用于设置音量,而不是特定文件。因此,从字面上看,您创建了一个路径为 /etc/clickhouse-server/config.xml/
的目录,这是 Clickhouse 预热的制动器。
相反,我建议您将 config.xml 放在目录中,并将 link 带有 config.d 文件夹的卷放在 ClickHouse 映像中。 config.d
,还有users.d
,还有其他的.d
都被认为是这样使用的。所以:
docker run --name clickhouse-server -v `(pwd)`/dir/:/etc/clickhouse-server/config.d yandex/clickhouse-server
此外,检查 docker run
的其他选项也是个好主意。顺便说一句:我发现 -d
选项是必须的,因为分离容器使我的终端更有用。