首页 > 解决方案 > 无法在 Mac OS 上通过 HTTP 从容器外部连接到 Clickhouse

问题描述

我正在尝试在 Mac OS 上将 ClickHouse 与 docker 一起使用。我使用下一个命令:

docker run -d -p 8123:8123 --rm --name some-clickhouse-server -v /my/config/path/config.xml:/etc/clickhouse-server/config.xml --ulimit nofile=262144:262144 yandex/clickhouse-server:latest

容器成功启动,但是当我尝试通过 http 连接它时curl 'http://localhost:8123'出现错误:

无法连接到 localhost 端口 8123:连接被拒绝

当我从 Clickhouse 客户端(也使用 docker 映像)连接到 Clickhouse 时,一切正常

我在模式下运行 Clickhouse-server 映像-it,已安装curl,启动服务器并尝试从容器内部连接 ​​clickhouse-server,也可以

我还尝试修改listen_host( ::, 0.0.0.0, ::1, 127.0.0.1) 的 config.xml (从 docker 映像复制)设置以及我尝试通过 curl 连接的每个设置localhost, 127.0.0.1, 0.0.0.0- 这些都没有解决我的问题

标签: macosdockerclickhouse

解决方案


正常情况下,docker desktop会将这些host和container的详细信息写入/etc/hosts,添加后clickhouse-service如下解决了这个问题。

127.0.0.1 localhost clickhouse-service

推荐阅读